簡體   English   中英

jQuery值屬性選擇器未返回正確的元素數

[英]jQuery value attribute selector not returning correct number of elements

我有一個程序,在密鑰啟動后生成一個計數。 JQuery代碼:

$('.today').keyup(function() {
    var Presents = $('input[value="/"]:visible');
    $("#counter").html( "Present: " + Presents.length );
});

HTML:

<input type="text" id="1" name="1" class="today" value="/">
<input type="text" id="2" name="2" class="today" value="/">
<input type="text" id="3" name="3" class="today" value="/">
<p id="counter"></p>

首次按鍵后,計數器標簽將顯示3。 當我更改文本框中的值時,計數器框中的值不會更改。 EG當我有機會將文本框3的值改為x時

標簽現在應該包含數字2.目前這不會改變。

您正在使用屬性選擇器,但是當您更改輸入值時,它不會更改屬性; 只是財產。 您可以使用filter()來獲得所需內容:

$('.today').keyup(function() {
    var Presents = $('input:visible').filter(function(){
      return this.value == "/";  
    });
    $("#counter").html( "Present: " + Presents.length );
});

的jsfiddle

如果您需要更新屬性本身,只需將以下內容添加到事件處理程序的頂部即可:

$(this).attr('value',this.value);

的jsfiddle

但這對我來說似乎很混亂。 另外,我相信filter()會比屬性選擇器更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM