我有一個名爲「ddlFiles」的div。它包含一個DropDownList,其中包含一堆ID。我試圖做的是讓用戶選擇一個id,然後通過傳入選定的值來執行操作(存儲過程需要它)該操作第一次通過。但是當我嘗試再次選擇一個id時,它使用舊的id而不是新的id。因此,爲了傳遞正確的ID,我們必須讓用戶在實際使用第二個新ID之前選擇一個新的ID兩次。第二次從DropDownList中選擇一個值時。它不使用新選定的值。它使用舊值
(注: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是hiddenFiel d。 (這已經包含了舊文件ID
你調試了getCaseFiles函數嗎?如果沒有,我強烈建議你做這個分析如果var dropDownList得到什麼你的期望。 – daniloquio
我只是想出瞭如何調試它。我目前正在調試它。到目前爲止,它在我第一次執行它時做的都是正確的,它會得到正確的值等。但是第二次創建彈出窗口並嘗試獲取值。它一直抓住我選擇的以前的值。 – user1084319
var newCaseDdl = dropDownList.options [dropDownList.selectedIndex] .value; – user1084319