我已經有這個問題很長時間了,現在我試圖通過DropDownList從一個人獲得用戶輸入。它似乎第一次工作(在回發之後)。但是當我試圖讓用戶從DropDownList中選擇一個新值時,它似乎默認回到我以前選擇的值。我的問題是如何獲得JavaScript代碼重新分配變量到當前新選定的值。如果我做回發,它似乎工作,因爲它被刷新。不過,我不想每次都做回傳。如何重置變量和重建DropDownList而不使用回發
這裏是我的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 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的變量不是正在更新,如果它不是回發。
我會盡快嘗試,讓你知道結果。謝謝,但這個信息 – user1084319
會這樣工作,你列出的問題:var dropDownList = document.getElementById $(「#<%= ddlCaseFilesNew.ClientID%>」);? – user1084319
它應該工作,但只有當你的JS代碼在ASPX文件。 – Smileek