2013-04-26 102 views
4

我對動態生成的字段有問題。這些字段有不同的類型,其類型取決於我的數據庫(文本,選擇,收音機等)上存儲的內容。它們是在我的PHP腳本中生成的,它們具有相同的名稱(ans[],這是一個數組)。如何從動態數組類型字段獲取值

<input type='radio' name='ans[]' value='1'> 
<input type='radio' name='ans[]' value='2'> 
<input type='radio' name='ans[]' value='3'> 

<select name='ans[]'> 
    <option value='desktop'>Desktop</option> 
    <option value='laptop'>Laptop</option> 
    <option value='monitor'>Monitor</option> 
    <option value='printer'>Printer</option> 
</select> 

<input type='text' name='ans[]' value=''> 

我想使用JQuery獲取每個字段的輸入值。可能嗎?

+0

爲什麼你用同一個名字?使用不同的 – 2013-04-26 03:01:44

回答

2
$("[name=ans\\[\\]]").each(function() { 
    alert($(this).val()); 
}); 

這應該有效。

JSFiddle

工作上面的示例。

+0

非常感謝,它爲我工作。但我還有一個問題,從上面的例子中,每個單選按鈕的所有值都被檢索到。如果我只想選擇其中之一呢? – rhy 2013-04-26 03:46:49

+0

就像選中的那個? – 2013-04-26 16:28:23

+0

您可能需要使用多個選擇器: '$(「[name = ans \\ [\\]] [type!= radio]」)。each(function(){/ *做任何你想做的事與非無線電輸入* /}'和 '$(「[name = ans \\ [\\]] [type = radio]:checked」)。each(function(){/ *輸入* /}' 新JSFiddle:http://jsfiddle.net/VcZWy/2/ – 2013-04-26 16:36:18

1

有很多方法可以讓你的字段值不依賴於ID或類(儘管它們通常是最好的方法)。

您可以根據自己的DOM位置選擇字段:

CSS第n個孩子http://www.w3schools.com/cssref/sel_nth-child.asp

$('form#myform input:nth-child(2)')

jQuery的。每個http://api.jquery.com/jQuery.each/

$('form#myform input).each(function(){ /* functionality here */ }); 

這依賴於以固定順序生成的字段。如果您爲每個PHP數組項目生成一個標籤,並用它來標識您的各個字段,該怎麼辦?

+0

的值謝謝,我會試試這個。 – rhy 2013-04-26 03:47:11