3

私は次のHTMLを持っています:

<div class = "questionItem"> 
<input data-val = "true" data-val-number="フィールドMappingIdは数値である必要があります。"
data-val-required="MappingIdフィールドは必須です。"
id = "answers_2__MappingId" name = "answers [2] .MappingId" type = "hidden" value = "23" />
<input id = "answers_2__Item" name = "answers [2] .Item" type = "hidden" value = "B0300" />
<input id = "answers_2__SetAnswer" name = "answers [2] .SetAnswer" type = "hidden" value = "^" />
</ div>

jQueryはこれですべてのquestionItemsを取得します:

var coll = $('.questionItem');

answers[/d+].SetAnswerそれらすべてが必要なわけではありません。名前と値が。の子入力を持つquestionItemsが必要です?

has()その節をどのように構築しますか?

4

2 に答える 2

2

次のようになります。

var coll = $(".questionItem").filter(function() {
    return $(this).find(":input").filter(function() {
        return /^answers\[\d+\]\.SetAnswer$/.test(this.name) && this.value == "?";
    }).length > 0;
});

デモ:http: //jsfiddle.net/nUNJd/

于 2012-06-08T16:06:25.543 に答える
1

ここでは正規表現は必要ありません。セレクターを使用:hasして属性を設定するだけです。

$(".questionItem:has(input[name$='.SetAnswer'][value='?'])");

フィドル: http: //jsfiddle.net/jonathansampson/S8kft/

于 2012-06-08T16:14:54.550 に答える