2010-07-09 80 views
0

我試圖迭代jQuery中的複雜類型綁定通過提交到IEnumerable行動參數的Json表示。jquery通過動態複雜的對象迭代提交到asp.net mvc行動

的Html

<input type="hidden" value="0" name="value.index" /> 
<input type="text" value="textone" name="value[0].InputValue" id="value[0].InputValue" /> 
<input type="hidden" value="0" name="value[0].Id" id="value[0].Id" /> 

的jQuery

var value = $('#value[0].InputValue').val() 

返回未定義的值;然而,如果我有一個格式爲「myId」的控件,那麼我可以訪問該控件的值。

我錯過了什麼嗎?或者這是不可能的?

回答

3

#用於通過Id查找元素。如果你想通過名稱查找元素,它遵循不同的語法...試試這個

$("input[name=value\[0\].InputValue]"); 
+0

啊,忘了逃脫了[]的 - 好抓到Teja :) – Dan 2010-07-09 14:19:31

+0

非常,這就是我尋找:-) – WestDiscGolf 2010-07-09 14:30:49

1

我不認爲[]的ID是允許的。 MVC用下劃線代替他們,當我渲染的Obj[0].Property

一個名字,我想嘗試用名字獲取輸入文本框:

編輯 - 逃避括號:)

$('input[name=value\[0\].InputValue]').val() 

你可以做各種屬性選擇太多:

http://api.jquery.com/category/selectors/

希望幫助!

+0

Ta,輝煌! :-) – WestDiscGolf 2010-07-09 14:31:06

0

出現此問題是因爲[和]字符在jQuery選擇器中表示特殊的東西,即它們指定了對屬性的要求。所以,當你說

$('#value[0].InputValue') 

這意味着將jQuery「元件與ID的 「價值」屬性 「0」 本並與css類inputValue的施加

正如其他有人建議,用$('input [name = value [0] .InputValue')`代替