我已经有这个问题很长时间了,我试图通过 DropDownList 从一个人那里获取用户输入。它似乎第一次工作(回发后)。但是当我试图让用户从 DropDownList 中选择一个新值时,它似乎默认回到我之前选择的值。我的问题是如何让 javascript 代码将变量重新分配给当前新选择的值。如果我进行回发,它似乎可以工作,因为它会被刷新。但是我不想每次都回发。
这是我的javascript代码:
function getCaseFiles(canMoveExpenses) {
//create Popup with content from div
$('#ddlFiles').dialog({
autoOpen: true,
height: 'auto',
width: 'auto',
modal: true,
buttons: {
"Ok": function () {
debugger;
var dropDownList = document.getElementById("ddlCaseFilesNew");
var newCaseDdl = dropDownList.options[dropDownList.selectedIndex].value;
//alert("newCaseDdl = " + newCaseDdl);
var oldCaseFile = $("#hidCaseFile").val();//<asp:HiddenField id="hidCaseFile">
//alert(oldCaseFile);
if (newCaseDdl != -1) {
moveCasefile(canMoveExpenses, newCaseDdl, oldCaseFile);
$(this).dialog('close');
$("#viewExpensesGrid").flexReload();
}
else {
showMessage("Error. Please Select a Value From The Lists.");
}
},
Cancel: function () {
$(this).dialog('close');
$("#viewExpensesGrid").flexReload();
}
}
});
}
这是我的 DropDownList div:
<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>
我的函数调用此 div 并将其放置在自定义弹出窗口中。
如果不是回发,似乎我包含 selectedIndex 的变量不会被更新。