0

javascript や jQuery を使用して、オブジェクトとそのすべての兄弟をテスト/照合するにはどうすればよいですか? 私はプログラマーではないので、安心してください。前もって感謝します。:)

    // Make an array of the checked inputs
var aInputs = $('.listings-inputs input:checked').toArray();
// Turn that array into a new array made from each items value.
var aValues = $.map(aInputs, function(i){
    return $(i).val();
});
// Create new variable, set the value to the joined array set to lower case.
// Use this variable as the string to test
var sValues = aValues.join(' ').toLowerCase();

    $.each(sSplitTags, function(i){
        var re = new RegExp(sSplitTags[i],'i');
        // this test works, but not for the siblings
        if(re.test(sValues)){
        // This line does not work, but it is the gist of the question
        // if( (re.test(sValues)) && ($(re).siblings().test(sValues))){
            alert('match');
        }
        else{
            alert('no match');
        }
    });

    /*
    // Begin: There is a more elegant way to do this...
    // Create new Regular Expressions
    var re0 = new RegExp(sSplitTags[0],'i');
    var re1 = new RegExp(sSplitTags[1],'i');
    // if(thisInput.attr('value') == $(this).text()){
    if((re0.test(sValues)) && (re1.test(sValues))){
    // End: There is a more elegant way to do this...
        $(this).parent().show();
    }
    else{
        $(this).parent().hide();
    }
    */
4

1 に答える 1

0

最後にテストをsSplitTagsのすべての要素に一般化する方法は次のとおりです。

var showIt = true;
$.each(sSplitTags, function(i, tag) {
  re = new RegExp(tag);
  if (!re.test(sValues)) {
    showIt = false;
    break;
  }
});
$(this).parent().toggle(showIt);
于 2012-10-04T00:13:39.213 に答える