按文字查找元素

时间:2016-11-30 12:41:30

标签: javascript jquery

我在页面上有使用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但是":包含"由于某种原因没有找到它们(也许是因为没有价值属性?)

2 个答案:

答案 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());