如何为 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 设置文本颜色?

如何用 JS 设置占位符

如何为 CoreData 中包含 NSArray 的二进制数据创建 NSPredicate?

如何为数组中的每条记录设置一个属性的值

如何为名称中带有“ - ”(连字符)的工件添加“要求”