2015-09-28 29 views
3

如果主類文本框的值與用戶匹配,但是我想將主用戶類與用戶類進行比較並打印數量計數導致有多少輸入用戶類具有與主站具有相同重複值的div。Javascript計數在文本框中重複的時間相同的值的數量

HTML:

<input class="master" value="1"> 
<input class="user" value="1"> 
<input class="user" value="1"> 
<input class="user" value="0"> 
<input class="user" value="0"> 
        <div id="result_count"></div> 

的Javascript:

$(function() { 
    var master = $('input.master').get(0).value; // get the master value 
    var fn = function() { 
    return this.value === master ? "yes" : "no";//if current text-box matches master,then yes else no 
    }; 
    $('input.user').val(fn); // loop and replace text for each user input 
}); 
+0

什麼是輸入'type'? – hjpotter92

+0

@ hjpotter92這是全部文字 – Shaik

+0

@Shaik檢查我的答案它將輸出2,因爲2級用戶的輸入與主人的價值相同 – guradio

回答

1

您應該使用基於主輸入的值的屬性選擇:

$(function() { 
    var master = $('input.master').val(); // get the master value 
    var userInputs = $('input.user'); 

    var fn = function() { 
    return this.value === master ? "yes" : "no";//if current text-box matches master,then yes else no 
    }; 

    userInputs.val(fn); // loop and replace text for each user input 

    // get inputs who has the same value as "master" 
    var inputs = userInputs.filter('input[value="'+ master +'"]') 

    // Print the number of matches 
    console.log(inputs.length) 
}); 

一個例子:http://jsfiddle.net/gjangztm/

1

這應該做的工作:http://codepen.io/zvona/pen/qOqKJe?editors=101

var masterValue = $('.master').val(); 
var $userInputs = $('.user'); 
var resultCount = $userInputs.filter(function(i, input) { 
    return $(input).val() === masterValue; 
}); 

$('#result_count').text(resultCount.length); 
+0

我需要具有與主人相同的價值的用戶類的計數否上面什麼都沒有顯示 – Shaik

+0

我修改了條目並添加了一個示例。 – zvona

1
var same = $('input.user').filter(function(index) { 
    return ($(this).val() == $('.master').val()); 
    }) 
console.log(same.length); 
$('#result_count').text(same.length); 

demo

Documentation瞭解更多信息

+0

爲什麼要傳遞一個函數來過濾?你可以簡單地通過一個屬性選擇器。 –

+0

http://api.jquery.com/filter/爲什麼不呢? – guradio

+0

過濾並不那麼複雜,而且就可讀性而言,初學者使用屬性選擇器會更加清晰。 –

1
$(function() { 
var count=0; 
    var master = $('input.master').get(0).value; // get the master value 
    var fn = function() { 
    return this.value === master ? "yes" : "no";//if current text-box matches master,then yes else no 
    }; 
    $('input.user').val(fn); 

    $(".user").each(function() { 
    if($(this).val()==master){ 
    ++count; 
    } 
    }); 
$('#result_count').val(count); 
}); 
相關問題