4

1 つを除くすべての入力フィールドの値をクリアするスクリプトを作成しようとしています。このスクリプトはまだ説明入力フィールドをクリアしています。

jQuery('.campaign-column').not('active').each(function(index){
    if(jQuery('.campaign-column input[name!="DESCRIPTION"]')){
        jQuery(this+':input').val('');
        }
    });
4

3 に答える 3

9

簡素化する:

$('.campaign-column:not(.active) input:not([name="DESCRIPTION"])').val('')

HTMLには要素がないため、.not('.active')あなたは を意味していたと思います。元のコードのループ ( ) は無意味であることに注意してください。すべての反復で同じ要素が何度も選択されるためです。.not('active')<active>.each()

于 2012-09-07T16:38:35.380 に答える
1

この場合、各ループを作成する必要はありません。これを試してください

$(function(){
    // Select all text fields but not Description field..   

    var $txtfields = $('.campaign-column:not(.active)').find('input[type=text][name!=DESCRIPTION]')

    $('#btn1').on('click', function() {
       $txtfields.val('')  ;
    });
});​

実例については、このFIDDLEを確認してください

于 2012-09-07T16:48:44.490 に答える