我有一个名为“ddlFiles”的 div。它包含一个 DropDownList,其中包含一堆 id。我想要做的是让用户选择一个 id,然后通过传入选定的值来执行操作。(存储过程需要它)该操作第一次通过。但是当我再次尝试选择一个 id 时,它会使用旧的 id 而不是新的。因此,为了让我传入正确的 id,我必须让用户选择一个新 id 两次,然后才能真正采用第二个新 id。
(注意:viewExpensesGrid 是我的 flexigrid)——不是很有用,但我想我会把它添加进去。
这是我从 DropDownList 获取所选值的函数,然后将其传递给函数:
function getCaseFiles(canMoveExpenses) {
//create Popup with content from div
$('#ddlFiles').dialog({
autoOpen: true,
height: 'auto',
width: 'auto',
modal: true,
buttons: {
"Ok": function () {
var dropDownList = document.getElementById("ddlCaseFilesNew");
var newCaseDdl = dropDownList.options[dropDownList.selectedIndex].value;
//alert("newCaseDdl = " + newCaseDdl);
var oldCaseFile = $("#hidCaseFile").val();
//alert(oldCaseFile);
if (newCaseDdl != -1) {
moveCasefile(canMoveExpenses, newCaseDdl, oldCaseFile);
$(this).dialog('close');
$("#viewExpensesGrid").flexReload();//simply refresh flexigrid
}
else {
showMessage("Error. Please Select a Value From The Lists.");
}
},
Cancel: function () {
$(this).dialog('close');
$("#viewExpensesGrid").flexReload();
}
}
});
}
这是我的 div =“ddlFiles”:
<div id="ddlFiles">
<label>
Select new CaseFile:</label>
<asp:DropDownList runat="server" ID="ddlCaseFilesNew" DataSourceID="dsCaseFiles"
DataTextField="Display" DataValueField="FileID"
OnPreRender="ddl_PreRender" Width="300px"/>
</div>
我的存储过程需要一个新的 CaseId 和一个旧的 CaseId,hidCaseFile 是一个 hiddenField。(这已经包含旧文件 ID。