我试图使用下面的代码来选择表单元素(我检索值以验证文本)
$('#box1 [name=item[]]').val();
$('#box2 [name=item[]]').val();
我正试图获得以下
的价值<form..>
<div id='box1'> <input type='text' name='item[]'/> </div>
<div id='box1'> <input type='text' name='item[]'/> </div>
</form>
我需要使用带有方括号[]的'item []',因为php可以将这些数据作为数组检索
$data = $_REQUEST['item'];
将返回包含'item'
中所有数据的数组问题是$('#box [name = item []]')。val()不起作用,我怎么能让它工作或者有其他方法可以做到这一点?
答案 0 :(得分:2)
您需要转义jQuery选择器中的[
和]
,因为它们具有特殊含义(属性选择器):
$('#box1 [name="item\\[\\]"]').val();
$('#box2 [name="item\\[\\]"]').val();
如果你想使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的文字部分,您必须使用两个反斜杠转义字符:\。
答案 1 :(得分:1)
如果您可以为输入提供类似“input_item”的类名而不是
$("input.input_item").each(function() {
// do something with $(this).val()
});
答案 2 :(得分:0)
尝试 -
$('#box1 input[name="item[]"]').val()
我刚刚在'name'值周围添加了双引号,并将'input'选择器添加到选择器值。