8

我想用 jQuery 在输入字段中添加一些值。问题在于输入字段的 ID。我正在使用 id 等options[input2]。在那种情况下,我的代码不起作用。如果我使用 ID like input2,那么它可以正常工作。我需要使用options[input2],如何修复代码?

HTML:

<div>
    <h3>Working</h3>
    <input id="input1" type="text" value="" />
    <input class="button" type="button" value="Add value" />
</div>

<div>
    <h3>Not working</h3>
    <input id="options[input2]" type="text" value="" />
    <input class="button" type="button" value="Add value" />
</div>

jQuery:

$('.button').click(function(){
    var fieldID = $(this).prev().attr("id");
    $('#' + fieldID).val("hello world");
});

演示:

http://jsfiddle.net/4XR8M/

4

5 回答 5

23

您可以按如下方式进行。

$(this).prev('input').val("hello world");

现场演示

于 2013-09-06T10:15:03.077 回答
3

你可以简单地使用

 $(this).prev().val("hello world");

JSFiddle 演示

于 2013-09-06T10:15:57.920 回答
2

你必须逃脱[并且]。尝试这个:

$('.button').click(function(){
    var fieldID = $(this).prev().attr("id");
    fieldID = fieldID.replace(/([\[\]]+)/g, "\\$1");
    $('#' + fieldID).val("hello world");
});

演示:http: //jsfiddle.net/7RJtf/1/

于 2013-09-06T10:23:22.503 回答
0
$.each(obj, function(index, value) {
    $('#looking_for_job_titles').tagsinput('add', value);
    console.log(value);
});
于 2020-05-06T01:26:07.147 回答
0

您可以简单地使用 $(this).prev().val("hello world");

于 2021-11-30T01:26:57.297 回答