2012-11-20 40 views
2

我的頁面上有一組輸入字段。他們設置爲這樣的陣列:按名稱設置輸入字段數組的值

<input type="text" name="test[name][]" /><br /> 
<input type="text" name="test[name][]" /><br /> 
<input type="text" name="test[name][]" /><br /> 
<input type="text" name="test[name][]" /> 

接下來我需要做的是在每個文本字段中設置一個唯一值。但我不知道如何用jQuery遍歷這些字段。我嘗試失敗:DEMO

$(function() { 
    $.each('input[name="test[name][]"]', function() { 
     $(this).val('blaat'); 
    }); 
}); 

任何想法如何,我可以遍歷每個輸入字段,按名稱選擇它們!?我對這些控件沒有任何影響。所以我不能給他們一個額外的類名或類似的東西。我所有的都是他們的名字。

+0

括號[]在HTML元素的名稱無效字符。有效字符是a-zA-Z0-9_ :. –

回答

3

你用得到陣列的選擇只是一個是字符串,但不是數組

'input[name^="test"]'應該$('input[name="test[name][]"]')

你能做到這樣,

Live Demo

$(function() { 
    $.each($('input[name^="test[name][]"]'), function() {   
     $(this).val('blaat'); 
    }); 
}); 

+0

'$('input [name =「test [name] []」]')'應該可以正常工作,也就是沒有'^ =' –

+0

謝謝@Jack,更新了答案。 – Adil

0

你可以做類似

$(function() { 
    $.each($('input[name^="test"]'), function() { 
     $(this).val('blaat'); 
    }); 
});​ 

編輯: 更高效

$(function() { 
    $('input[name^="test"]').each(function() { 
     $(this).val('blaat'); 
    }); 
});​