2010-11-08 72 views
4
<div id="arraydiffid"> 
    <input type="hidden" name="array_diff[]" value="0" /> 
    <input type="hidden" name="array_diff[]" value="1" /> 
    <input type="hidden" name="array_diff[]" value="2" /> 
    <input type="hidden" name="array_diff[]" value="3" /> 

    <div class='hello'> 
     somethings 
    </div 

    <input type="hidden" name="array_diff[]" value="4" /> 

    <span>hello</span> 

    <input type="hidden" name="array_diff[]" value="5" />   
</div> 

如何只瀏覽所有「輸入類型隱藏」的子項? (而不是其他,如股利或跨度)我想:瀏覽/迭代div的每個輸入元素

$('#arraydiffid>children').each(function(){ 
    alert($(this).value()); 
}); 

回答

8
$('#arraydiffid > input[type=hidden]').each(function() { 

    if($(this).val()>=param) 
     $(this).val($(this).val()+1); 
}); 

希望幫助:)

+0

是啊,這工作。唯一的問題是它以字符串形式獲取值。所以,如果我寫入(函數())這個if($(this).val()> = param)$(this).val($(this).val()+ 1);它不添加1,只是它將1放在字符串的末尾。 – markzzz 2010-11-08 15:16:45

+2

使用parseInt()來確保它被視爲一個整數。 parseInt($(this).val())+ 1 – Gazillion 2010-11-08 15:21:39

+1

@mark使用'parseInt(this.value,10)'將字符串轉換爲一個整數 – 2010-11-08 15:22:00

0

因爲那輸入應該是它的方式可能是有益的形式來包裝這些被顯示。然後你可以使用jQuery.serialize來訪問數據。

<form id="arraydiffid> 
    <input /> 
    .... 
</form> 

$("#arraydiffid").serialize(); //array_diff%5B%5D=0&array_diff.... 

我不加快速度在我的僞數組符號,我認爲,這樣,你有你設置你的投入,這將需要一個jQuery插件,使用該符號。

http://api.jquery.com/serialize/ 例子: http://jsfiddle.net/N7ZC4/