按ID选择包含方括号之间的数字的元素

时间:2016-01-13 19:57:21

标签: jquery regex input

我需要使用像re_widget [num] [widget_id]这样的ID设置所有输入的值。现在我有这样的事情:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
var result = /^\d{1,2}$/;
$('input[id="re_widget[+result+][widget_id]"]').val("my_value");
});
});
</script>
</head>
<body>
<p>Name: <input id="re_widget[1][widget_id]" type="text" name="user1"></p>
<p>Name: <input id="re_widget[2][widget_id]" type="text" name="user2"></p>
<p>Name: <input id="re_widget[3][widget_id]" type="text" name="user3"></p>
<button>Set the value of the input field</button>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

特殊字符

[是jquery中的一个特殊字符,要将其用作查询的一部分,您需要在\之前放置<{p}}

以下代码将更改输入元素的值:

function setValue(id, value) {
  $('#re_widget\\[' + id + '\\]\\[widget_id\\]').val(value);
}

$(document).ready(function() {
  $("button").click(function() {
    setValue(1, 'hello');
    setValue(2, 'world');
    setValue(3, 'leon');
  });
});

Online Demo