抱歉我的英文
我有这段代码:
没问题
当“select”如下所示我如何调整代码:
<select id="example[164]" name="example[164]" type="text" />
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div class="test">
Some text...<br /><input type="checkbox" name="foobar" value="1" /><br />More text...
</div>`
感谢您的帮助
:d)
答案 0 :(得分:0)
除HTML5外,此HTML无效。 []
属性中不允许使用字符id
,该属性应为字母,数字,句点,连字符,下划线和冒号。
要将该无效ID与jQuery匹配,您需要使用两个反斜杠转义[]
:
// Match all select elements beginning with example in the id
$('#example\\[164\\]')
在您的示例中,将$('#example')
更改为$('#example\\[164\\]')
$('#example\\[164\\]').focus(function() {
if (timer)
clearTimeout(timer);
$('div.test').css('display','block');
// etc...
后来,它也显示为: 功能(e){
if ($(e.target).closest('.example, #example\\[164\\]').length) return;
但是,由于不是一个有效的id属性(除非您使用的是HTML5),您应该匹配元素的name
属性,如果这是在服务器端,而是将id属性更改为有效的<select id='example_164'>
。
// [] are valid in a name
$('select[name="example[164]"').focus(function() {
if (timer)
clearTimeout(timer);
$('div.test').css('display','block');