2016-11-02 3 views
1

私は単純なラジオボタンの機能に取り組んでいます。他のラジオの要素がクリックされた場合、入力は無効状態に戻ります。jQuery:not()パラメータが値として機能していない

ID elemをパラメータとして追加するまで、すべてうまく動作します。 現在、私はCSSセレクタを使用しています:他のラジオの要素を除外しないことです。

'input[type=radio]:not(element)' 

これは現用回線ではなく置き換えるための方法はありますか?

function enableInputonClick(element) { 
    var input = $('.form-control-optional'); 

    $(element).on('ifClicked', function() { 
     if(input.length && input.attr("disabled", "disabled")) { 
      input.removeAttr("disabled"); 
     } 
    }); 

    $('input[type=radio]:not(element)').on('ifClicked', function() { 
     if(input.length && input.attr("disabled", "")) { 
      input.attr("disabled"); 
     } 
    }); 
} 
enableInputonClick("#myRadioEl"); 

答えて

3

あなたの要素はセレクタ文字列であるので、あなただけの文字列concatenators +を使用することができます。

$('input[type=radio]:not(' + element + ')') ... 

それとも、jQueryの.not()(コメントで述べたように)とCSS :not()を置き換える:

$('input[type=radio]').not(element).on(... 
+0

ありがとう、私は自分のエラーを発見しました。私はnot()inside ''を使っていました。解決策: '$( 'input [type = radio]')。not(要素).on(...' – Nonchalanto

+1

はい、これも可能です。 – andreas

2

これを試す:

$('input[type=radio]:not(' + element + ')') 
1

私はあなたが次のように書き換えることができると信じています。

$('input[type=radio]').not(element).on('ifClicked', function() { 
関連する問題