我在页面上有使用JS动态生成的输入标记。
它们使用$("#input1").val(value)
进行初始化。如何根据文本找到特定的输入元素?
值初始化如下:
$("input[name='DeviceIP']").each(function(index,elem){$(elem).val(value)});
我现在使用的解决方案是选择我要检查的所有输入,然后使用find。
$("[name='DeviceIP']").filter(function(index, elem) {
var res = false;
var _this = this;
$("[name='DeviceIP']").each(function(index2, elem2) {
if(elem2 !== _this) {
if(_this.value === elem2.value) {
errMessage = "error text";
res = true;
}
}
});
return res;
}
我查看了问题here但是":包含"由于某种原因没有找到它们(也许是因为没有价值属性?)
答案 0 :(得分:1)
"$("input[name='DeviceIP'][value='your_value_here']")
element.value也是一个属性,因此您可以在查询中定义它;)
但是,如果您有很多元素,则不应经常执行此类查询。
我还建议您创建地图,将值作为键,将节点作为值。
答案 1 :(得分:0)
假设您有一个像
这样的输入字段<input type="text" value="5" name="DeviceIP">
<input type="text" value="8" name="DeviceIP">
您希望元素具有特定值。所以你可以这样做,
alert($("input[name='DeviceIP'][value='5']").val());
这是fiddle 如果您的值是动态的,比如说您的搜索值是8.所以您可以这样做,
var val = 8;
alert($("input[name='DeviceIP'][value='"+val+"']").val());