我使用幾個JSON調用來渲染數據等等。爲了保持正確的鍵值,我將它存儲在一個標記中。在jQuery(和ASP.NET MVC)中使用隱藏值 - 不工作?
我在我的代碼中有幾個地方有這個,其中沒有一個導致像這樣的問題。這裏是jQuery的:
的稱之爲 「套」 的值:
$("a[id^='planSetupAddNewPlan']").live('click', function() {
var x = $(this).attr('id');
x = x.substring(19);
$("#hidPlanSetupCurrentGroupKey").val(x);
$.getJSON("/GroupSetup/PlanSetupAddNewList", { GroupKey: x }, function(data) {
$("#planSetupAddNew").html('' + data.TableResult + '');
alert('First Inside 2 ' + x);
$.blockUI({ message: $("#planSetupAddNew") });
});
});
說, 「獲得」 價值召喚:
$("#ddlPlanSetupAddNewProduct").live('change', function() {
var a = $("#hidPlanSetupCurrentGroupKey").val();
var prod = $(this).val();
alert(a);
$.getJSON("/GroupSetup/PlanSetupChangePlanList", { GroupKey: a, Product: prod }, function(data) {
if (data.Message == "Success") {
$("#planSetupAddNewPlan").html('' + data.TableResult + '');
} else if (data.Message == "Error") {
//Do something
}
});
});
這裏是有問題的HTML:
<div id="planSetupAddNew" style="display:none; cursor: default;">
<input type="hidden" id="hidPlanSetupCurrentGroupKey" />
<div id="planSetupAddNewData">
</div>
</div>
在第一部分中,alert('First Inside 2'+ x)返回我期望的值(其中x =鍵值),如果我添加一行顯示隱藏字段的內容,也適用於:
ie。
var key = $("#hidPlanSetupCurrentGroupKey").val();
alert(key);
在「警報(a)」中,電話,我得到「未定義」。我在同一視圖中查看了其他代碼,並且它是相同的,並且工作正常。我必須錯過某些東西,或者有某種我沒有發現的錯誤類型。
只是控制器事件的概述: 第一個調用(/ GroupSetup/PlanSetupAddNewList)將返回一個構建「表單」的html字符串,供用戶輸入信息。
第二個調用(/ GroupSetup/PlanSetupChangePlanList)僅基於第一個下拉選擇(覆蓋div中的html)更改第二個下拉列表。
如果您需要更多信息,請告訴我!
任何想法/提示/指針/建議?!?!
感謝您的幫助:)
同意,有點聽起來像你在這裏重新發明輪子 – 2010-04-15 14:17:51
改變事件將永遠不會發生在點擊之前。點擊繪製一個新的「窗口」(blockui - 模式樣式彈出窗口),其中包含change事件的控件。 雖然這工作,感謝全球變量解決方案!這很好! – SlackerCoder 2010-04-15 14:39:52