使用jQuery捕获PHP括号样式元素

时间:2011-03-02 12:32:40

标签: php jquery

我有一个遗留的PHP应用程序,它在表单元素的命名中使用了括号,例如

<select name="samplegroup[776]" id="samplegroup[776]">
<option value="1">1</option>
<option value="2" selected >2</option>
<option value="3">3</option>
</select>
<select name="samplegroup[883]" id="samplegroup[883]">
<option value="1">1</option>
<option value="2" selected >2</option>
<option value="3">3</option>
</select>

如何匹配jQuery中带有samplegroup后跟括号中数字的选项?例如。 $("what_do_i_write_here")

4 个答案:

答案 0 :(得分:4)

您需要在jQuery选择器中使用\\转义括号。

除此之外,您可以使用^=序列告诉jQuery(Sizzle)您要查找的属性应该开头。

$('select[name^="samplegroup\\["]').doSomething();

演示http://jsfiddle.net/ZDrfK/1/

答案 1 :(得分:2)

这比使用名称更有效。

$("#samplegroup\\[883\\]")

答案 2 :(得分:1)

使用attributeStartsWith选择器:

$('select[name^="samplegroup"]')

这可能无关紧要忽略方括号部分中的数字,除非您碰巧还有其他select元素,namesamplegroup开头。< / p>

http://jsfiddle.net/PbSVY/

答案 3 :(得分:0)

我将选择修改为

<select name="samplegroup[776]" id="samplegroup_776">

然后

$("select.samplegroup_776"). //...

或者你需要ID中的括号吗?我理解名称标签,但我不认为ID应该这样命名。