0

我有点卡住了,试图使用这个 jquery 行将选择选项的结果输入到文本区域

这不起作用

  $("#id[txt_17]").val($(this).find("option:selected").attr("name"));

这确实

$("#idtxt_17").val($(this).find("option:selected").attr("name"));

[ ] 是通过 oscommerce 插件编码的,我不知道它们的重要性,也不知道我删除它们会做什么,但我想知道是否有解决方法,所以我可以把它们留在里面。我尝试创建一个变量引用 id 但由于方括号,它仍然不起作用。

任何帮助,将不胜感激。

谢谢

4

2 回答 2

1

请参阅:jQuery - 类别:选择器

要使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为名称的文字部分,它必须使用两个反斜杠进行转义:\。例​​如,id="foo.bar" 的元素可以使用选择器 $("#foo\.bar")。W3C CSS 规范包含有关以下方面的完整规则集有效的 CSS 选择器。同样有用的是 Mathias Bynens 关于标识符的 CSS 字符转义序列的博客条目。

代替:

$("#id[txt_17]").val

和:

$("#id\\[txt_17\\]").val

例子

于 2013-08-19T17:08:03.767 回答
1

转义括号:

$("#id\\[txt_17\\]")
于 2013-08-19T17:08:28.680 回答