2016-06-13 9 views
0

私は2つの異なる選択メニュー(メニューAとメニューB)を持っています。どちらも同じ値です。選択したメニューの値がメニューBの値onsubmitと等しくないことを確認するにはどうすればよいですか?選択されたメニューAがメニューBで選択できなくなった場合はクールですか?2つの選択メニュー値がjqueryで同じでないことを確認するにはどうすればいいですか?

提案がありますか?

答えて

1

次のコードを使用して、2番目の選択肢にオプションを表示します

$('.select1').on('change',function(){ 
var optionInSelect2 = $('.select2').find('option[value="'+$(this).val()+'"]'); 
if(optionInSelect2.length) { 
    optionInSelect2.attr('disabled','disabled'); 
    } 
}); 

demo

+0

soryについて$( 'this')からの引用符を削除して、私の回答を更新しました – madalinivascu

+0

yes引用符を削除しましたが、.select2メニューのオプションは依然として選択可能です。コードのこの部分を別の方法で書き直すことができますか? 'find(' option = '+ $ this(this).val()+') ')' – alex

+0

私のデモを参照してください。 – madalinivascu

0

提出の上にそれを確認するための最も簡単なVAYは次のとおりです。

$("#list1").val() !== $("#list2").val(); 

そして、あなたはそれ以外、このような何かあなたに可能性が選択可能にする場合:

$("#list1").change(function(){ 

    $("#list2 [value=" + $(this).val() + "]").attr("disabled","disabled"); 

}) 

前の無効なオプションを消去する:

$("#list1").change(function(){ 

    $("#list2").find("option").each(function(){ 
     $(this).removeAttr("disabled"); 
    }); 
    $("#list2 [value=" + $(this).val() + "]").attr("disabled","disabled"); 

}) 
+0

OK]をクリックして実行可能な解決策を見つけました。私はいくつかの一重引用符を変更する必要がありました$( '。セミナーA')on( 'change'、function(){ // $( 'セミナーB [値= "' + $(これ) )+ '"]')。attr(" disabled "、" disabled "); // }); – alex

+0

私はフォローアップの質問があります。私が以前に選択したオプションのために無効になっている属性がまだ存在することに気付く。 1つのオプションだけを無効にすることができますか? elementIDオプションの値のようなもの!= $(this).val()$( "#elementID")。removeAttr( 'disabled'); – alex

+0

私の編集した答えを確認してください:) – Blady214

関連する問題