javascript
  • jquery
  • 2016-11-30 157 views 0 likes 
    0

    我在頁面上使用JS動態生成輸入標籤。 它們使用$("#input1").val(value)初始化。我怎樣才能找到基於文本的特定輸入元素?通過文本查找元素

    $("input[name='DeviceIP']").each(function(index,elem){$(elem).val(value)}); 
    

    我現在使用的解決方案是選擇所有我想要檢查,然後使用查找輸入:

    的值如下被初始化。

    $("[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

    :含有着眼於元素中的文本不能在價值屬性。目前的方法有什麼問題嗎? –

    +2

    您在'input1'之前缺少'.'或'#'。 –

    +0

    @MihaiVilcu它只是不起作用http://jsbin.com/ketejax/edit?html,js,console,output –

    回答

    1

    "$("input[name='DeviceIP'][value='your_value_here']")

    element.value是也是一個屬性,所以你可以在你的查詢中定義它;)

    但是,如果你有很多元素,你不應該經常執行這樣的查詢。

    我也建議您創建地圖,值爲鍵,節點爲值。

    +0

    就像我說的在我的問題,我正在初始化val()值不添加屬性到DOM。因此我不能使用這種方法。我添加了一個更詳細的例子,使其更清晰。這裏是一個更新的小提琴:https://jsfiddle.net/kef3073a/2/ –

    +0

    @RandallFlagg是的你可以;) 問題是HTML中定義的屬性是初始值(在這種情況下)。 當您使用JS修改該屬性時,它不會更改HTML中定義的內容,但它實際上會更改「可見值」(您可以用眼睛看到的內容)。 所以基本上: VAR輸入= document.querySelector( '[名稱= 「DeviceIP」]') 變量$輸入= $(輸入) input.value = 'QWE' $ input.val()// - > qwe – grzesiekgs

    +0

    如果你會嘗試修改jquery的值屬性如: $ input.attr('value','new value') 比它不會工作! Attibute會在HTML中發生變化 - 但您在輸入值中看不到任何更改。 – grzesiekgs

    0

    假設你有一個像

    <input type="text" value="5" name="DeviceIP"> 
    <input type="text" value="8" name="DeviceIP"> 
    
    要與特定值的元素

    的輸入字段。所以你可以這樣做,

    alert($("input[name='DeviceIP'][value='5']").val()); 
    

    這是fiddle
    如果你的價值是動態的,比方說你的搜索值8.so你可以在某種程度上做到這一點,

    var val = 8; 
    alert($("input[name='DeviceIP'][value='"+val+"']").val()); 
    
    +0

    這與grzesiekgs – synthet1c

    +0

    的答案不一樣,在我的最後一部分中我也給出了它的動態值。此外,我還提供了一個小提琴來看現場的例子。 –

    +0

    @AururRahmanMunna就像我在我的問題中所說的,我正在使用val()初始化值,它不會將屬性添加到DOM。因此我不能使用這種方法。我添加了一個更詳細的例子,使其更清晰。這是一個更新的小提琴:https://jsfiddle.net/kef3073a/2/ –

    相關問題