如何为 ID 名称中包含方括号的选项设置“选定”值? [复制]
Posted
技术标签:
【中文标题】如何为 ID 名称中包含方括号的选项设置“选定”值? [复制]【英文标题】:How can I set 'selected' value for an option which has square brackets in it id name? [duplicate] 【发布时间】:2013-04-28 04:02:16 【问题描述】:我想读取 id 中包含 [] 的 select 标记的值。
<select id="jobtype[]" class="dropDown" size="4" multiple="multiple" name="jobtype[]">
<option value="28">Activity staff/ Resort Rep</option>
<option value="1">Admin/ Secretarial/ Clerical</option>
<option value="2">Advertising/ Marketing/ PR</option>
<option value="29">Art/ Design</option>
<option value="30">Au Pair/ Nanny</option>
我正在使用下面的函数来设置'selected':
$("#jobtype\\[\\] option").each(function()
//if ($(this).val() == 39)
$(this).attr('selected', 'selected');
);
【问题讨论】:
Id 属性不应有 [] 您的代码按原样工作(如果您修复括号周围的语法错误),但没有值为 39 的选项。jsfiddle.net/w7vRv 看看这个为什么它不应该有方括号:***.com/questions/70579/… 是的,没有 value = 39 的选项。我只是举了一个例子,伙计... 从 html5 开始,对 ID 的唯一要求是它必须至少包含一个字符,并且不能包含任何空格。它没有说不使用[]
【参考方案1】:
是的,转义括号应该可以正常工作:
$("#jobtype\\[\\] option[value=39]").prop('selected', true);
FIDDLE
【讨论】:
我可以得到 在什么版本的jQuery中?你当然有这个价值的选择,看看我的小提琴? 我正在使用 jQuery javascript Library v1.4.2 我已将此代码放在一个函数中,并且在更改下拉菜单时,我正在调用此函数。 那么您使用的代码非常过时,在您升级到更新版本之前,我拒绝帮助您。【参考方案2】:应该是这样工作的:http://jsfiddle.net/2e3tY/1/,所以还有其他问题:
试试:
select
标签应该关闭
jquery 函数应该包含在 $(function() );所以它在 doc ready 时被调用。
【讨论】:
是的,我同意..选择标签将被关闭..我只是举个例子。它实际上已关闭。【参考方案3】:您的代码似乎工作得很好,这是小提琴。 http://jsfiddle.net/LxKrS/1/
$("#jobtype\\[\\] option").each(function()
if ($(this).val() == 29)
$(this).attr('selected', 'selected');
);
【讨论】:
以上是关于如何为 ID 名称中包含方括号的选项设置“选定”值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何为多个下拉菜单设置 jquery select2 的选定值?
Flutter:如何为“选定”的 ListTile 设置文本颜色?