0

タグのテキスト値の最初の文字に応じて要素を選択する必要があります。例えば:

<li><label for="1"><input type="checkbox" name="contacts" value="1">Aaron</label></li>
<li><label for="2"><input type="checkbox" name="contacts" value="2">Born</label></li>
<li><label for="3"><input type="checkbox" name="contacts" value="3">Bale</label></li>
<li><label for="4"><input type="checkbox" name="contacts" value="4">Kate</label></li>

そして、テキスト値が B で始まるすべての入力を選択したい - その結果、Born と Bale の入力になるはずです。jQuery/純粋なjavascriptを使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

2

これを試してください:http://jsfiddle.net/bb2uE/

HTML:

<label for="1">Aaron</label><input type="checkbox" name="contacts" value="1"></li>
<li><label for="2">Born</label><input type="checkbox" name="contacts" value="2"></li>
<li><label for="3">Bale</label><input type="checkbox" name="contacts" value="3"></li>
<li><label for="4">Kate</label><input type="checkbox" name="contacts" value="4"></li>

Javascript:

$(document).ready(function(){
var obj = [];
    $.each($('label'), function(){
        if ($(this).html().charAt(0) == 'B')
         obj.push($(this).html());       
    });
    for (var i = 0; i < obj.length; i++)
        console.log(obj[i]);
});

または、これらの入力を非表示にする場合: http://jsfiddle.net/bb2uE/1/

Javascript:

var hideFunction = function(letter){
   $.each($('label'), function(){
        if ($(this).html().charAt(0) == letter)
            $(this).parent().hide();     
    });
}
hideFunction('B');  
于 2012-06-22T20:03:59.357 に答える
1

Your markup should look like this:

<li><input type="checkbox" name="contacts" id="id1" value="1"><label for="id1">Aaron</label></li>
<li><input type="checkbox" name="contacts"  id="id2"  value="2"><label for="id2">Born</label></li>
<li><input type="checkbox" name="contacts"  id="id3"  value="3"><label for="id3">Bale</label></li>
<li><input type="checkbox" name="contacts"  id="id4" value="4"><label for="id4">Kate</label></li>​

and this is how you get your input

$("label").filter(function () {
    return $(this).text().charAt(0) === "B"; 
}).closest("li").find("input");
于 2012-06-22T20:20:28.507 に答える