2

我想用 jQuery 向表单字段发送一个值。这是基本代码,它将正常工作:

<input id="logo" name="logo" type="text" />

jQuery:

jQuery('#logo').val(imgurl);

但是,我需要将字段 ID 更改为option[logo]. 所以我正在尝试这个:

<input id="option[logo]" name="option[logo]" type="text" />

jQuery:

jQuery('#option[logo]').val(imgurl);

这不起作用。如何解决这个问题?

4

3 回答 3

4

您不能只在 JQuery 选择器中的属性/元素名称中使用[]字面作为字符,因为它们具有特殊含义。你必须逃离他们。在此处阅读文档:http: //api.jquery.com/category/selectors/

这应该有效:

jQuery('#option\\[logo\\]').val(imgurl);
于 2012-07-31T06:46:16.800 回答
2

向该输入添加一个类并尝试以下操作

<input id="logo" class="option" name="option[logo]" type="text" />

jQuery('input.option').attr({
                             "id": "option\[logo\]",
                             "name": "option\[logo\]"
                            });

Working DEMO

于 2012-07-31T06:44:39.563 回答
2

您需要像这样转义 jQuery 中的括号:

$('#option\\[logo\\]').val(imgurl); 
于 2012-07-31T06:48:15.757 回答