2014-12-04 35 views
0

我有一個應用程序,我用Visual Studio 2013創建,我遇到了一些問題,使用jQuery爲隱藏字段賦值。首先讓我說我給隱藏變量賦值,因爲我無法直接訪問.cs文件中的標籤文本值,所以我必須將標籤的值賦給隱藏的輸入字段,以便我可以在.cs文件。我希望這是有道理的。設置值隱藏字段不與jQuery工作

下面是我在我的.aspx文件隱藏的輸入字段:

<input type="hidden" id="at" runat="server" /> 
    <input type="hidden" id="wt" runat="server" /> 
    <input type="hidden" id="att" runat="server" /> 
    <input type="hidden" id="wtt" runat="server" /> 
    <input type="hidden" id="gt" runat="server" /> 
    <input type="hidden" id="ah" runat="server" /> 
    <input type="hidden" id="wh" runat="server" /> 
    <input type="hidden" id="th" runat="server" /> 
    <input type="hidden" id="tah" runat="server" /> 
    <input type="hidden" id="twh" runat="server" /> 

這裏是我運行一個鍵被按下的任何時間功能:

<script src="Scripts/add-bid.js"></script> 
<script type="text/javascript"> 
     $(document).ready(function() { 
      $('input[type=text]').keyup(function() { 
       calculateTotal(); 
      }); 
     }); 
</script> 

這裏是代碼裏面的add-bid.js腳本,即calculateTotal功能:

$("#at").val("100"); 
$("#wt").val("200"); 
$("#att").val("100"); 
$("#wtt").val("200"); 
$("#gt").val("600"); 
$("#th").val("42"); 

我已經硬編碼這裏的值爲例。然後我去檢索我的aspx.cs文件中隱藏字段的值,它們全都爲空。我在這裏做錯了什麼?任何和所有的幫助表示讚賞。

回答

2

如果從瀏覽器中查看源代碼,你可能會發現這些ID都被扔掉,用生成所代替。 runat="server"導致它使用自己的命名系統。

使用ClientIDMode="Static",這樣它會保留你的原始ID。

例如

<input type="hidden" id="at" runat="server" ClientIDMode="Static" /> 

參考:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

+0

這並獲得成功。感謝TrueBlueAussie! – 2014-12-04 16:54:33

1

嘗試以下操作:

$('#<%= at.ClientID %>').val("100"); 
$('#<%= wt.ClientID %>').val("200"); 
$('#<%= att.ClientID %>').val("100"); 
$('#<%= wtt.ClientID %>').val("200"); 
$('#<%= gt.ClientID %>').val("600"); 
$('#<%= th.ClientID %>').val("42"); 
+1

這也將工作:) +1 – 2014-12-04 16:56:43

相關問題