我有以下示例HTML:
<table id="modem_list">
<tr class="input_1" name="modem">
<td>iPad 1<input type="hidden" value="1" class="output_1"></td>
</tr>
<tr class="input_2" name="modem">
<td>iPad 2<input type="hidden" value="2" class="output_2"></td>
</tr>
<tr class="input_3" name="modem">
<td>iPad 3<input type="hidden" value="3" class="output_3"></td>
</tr>
</table>
和jQuery脚本:
val = [];
jQuery('input[class^=ouput_]').each(function(i){
val[i] = jQuery(this).val();
});
使用此脚本时出现错误,如何解决?
答案 0 :(得分:3)
尝试这样
var val = [];
$('input[class^="output_"]').each(function(){
val.push($(this).val());
});
ouput
而不是output
""
答案 1 :(得分:3)
虽然其他答案完全有效,但使用map
时,这是一个稍短的替代方案,get
会返回一个数组:
var val = jQuery('input[class^=output_]').map(function() {
return this.value;
}).get();
请注意,在您的代码中,您编写了“输出”而不是“输出”。
答案 2 :(得分:1)
你可能使用了同一个类,你使用错误的类名尝试:
var valArr = [];
jQuery("input[class^='output_']").each(function(){
valArr.push(jQuery(this).val());
});
答案 3 :(得分:0)
您可以使用:
var val= $("#modem_list :input").serializeArray();
答案 4 :(得分:0)
看,你有
...class^=ouput_
而不是
...class^=output_
你也可以写这个
val = [];
jQuery('input[class^=output_]').each(function(i){
val.push(jQuery(this).val());
});