使用Jquery获取Select HTML的值时,当ID包含非字母数字字符时无法获取其值

3

在我的 jQuery 经验中,我没有遇到过使用字母数字之外的其他字符作为字符串选择器(当然包括 ID 和类选择器)。但是,在我的当前项目中,ID 包含了 [],我直接在选择器中字面上输入却无法起作用。

<select name="pdcompany[0]" id="pdcompany[0]">
        <option value="0">
            Please select
        </option>

我已经阅读了有关创建选择器的规则http://api.jquery.com/category/selectors/的文档,并遵循了这些规则,但仍然无法工作。我是哪里做错了?

    selector = "#pdcompany\\[0\\] > option:selected";
    alert('Selector: ' + selector);
    alert($(selector).text());  

这是我提供的fiddle链接:http://jsfiddle.net/laupkram/Fd42a/ 更新: 选择器中已经修复了一些错误...缺少#
2个回答

2

你不需要使用 " > option:selected",因为 .val 已经给你了。只需要这样做:

selector = "#pdcompany\\[0\\]";

1

关于 $('[id="pdcompany[0]"]').text();,你怎么看?可以使用引号和 属性选择器

示例

为您翻译完成:

$('[id="pdcompany[0]"] option:selected')...

顺便提一下,除非你的选择是 multiple,否则没有必要使用 option:selected.val() 将会很好地工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接