2012-06-14 22 views
1

所有值我有以下示例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(); 
}); 

我使用這個腳本時得到一個錯誤,如何解決呢?

回答

3

嘗試像這樣

var val = []; 
$('input[class^="output_"]').each(function(){ 
    val.push($(this).val()); 
}); 
  1. 你寫ouput而不是output
  2. 用引號括""
  3. (屬性值,並使用推沒有必要使用顯式指數數組)
1

你可以使用相同的c姑娘,你正在使用錯誤的類名的嘗試:

var valArr = []; 
jQuery("input[class^='output_']").each(function(){ 
    valArr.push(jQuery(this).val()); 
}); 
3

而其他的答案是完全有效的,這是一個使用map,用get返回數組稍短的選擇:

var val = jQuery('input[class^=output_]').map(function() { 
    return this.value; 
}).get(); 

請注意,在你寫的代碼是'輸出'而不是'輸出'。

0

您可以使用:

var val= $("#modem_list :input").serializeArray(); 
0

瞧,你有

...class^=ouput_ 

,而不是

...class^=output_ 

你也可以寫這個

val = []; 
jQuery('input[class^=output_]').each(function(i){ 
    val.push(jQuery(this).val()); 
});