2014-01-26 54 views
0

我有類似的東西:jQuery的:選擇所有輸入,選擇指定名稱的元素,但不包括隱藏類型

<form id="my_form"> 
<input type="hidden" name="name_1" value="1"> 
<input type="text" name="name_2" value="text_1"> 
<input type="text" name="name_3" value="text_2"> 
<select name="name_4"> 
    <option value="1">opt1</option> 
    <option value="2">opt2</option> 
</select> 
</form> 

,並在我的jQuery代碼:

$('#my_form').serializeArray().forEach(function(item){ 
    // here 'item' has two props: 'name' and 'value' 
    // how can I select form's item based on name but NOT type HIDDEN ? 
}); 

回答

1

您可以使用:not()

更改您的選擇器爲

$('#my_form :not(:hidden)').serializeArray().forEach(function(item){ 
    // here 'item' has two props: 'name' and 'value' 
    // how can I select form's item based on name but NOT type HIDDEN ? 
}); 

DEMO

+0

接受和小提琴 – WBAR

0
$('#my_form').find("input[type!='hidden']").serializeArray().forEach(function(item){ 
    // here 'item' has two props: 'name' and 'value' 
    // how can I select form's item based on name but NOT type HIDDEN ? 
}); 
0

您可以使用jQuery not選擇:

選擇不與指定選擇器匹配的所有元素。

代碼:

$('#my_form :not([type=hidden])').serializeArray().forEach(function(item){ 

}); 

演示:因爲你添加鏈接到文檔http://jsfiddle.net/5gygs/

+0

爲什麼不使用 '每()' 而不是serializeArray? –

+0

@RezaOwliaei我不知道;那是問題的代碼... –

相關問題