0

「はい」と「いいえ」の2つのボタンがあります

<input class="answerBtns answers answerBtnsOff" name="answerYesName"   id="answerYes"   type="button"   value="Yes"     onclick="btnclick(this);"/>
<input class="answerBtns answers answerBtnsOff" name="answerNoName"    id="answerNo"        type="button"   value="No"      onclick="btnclick(this);"/>    

私がやろうとしていたのは、「はい」ボタンが強調表示されている場合は「いいえ」ボタンを無効にし、「いいえ」ボタンが強調表示されている場合は「はい」ボタンを無効にし、2つのボタンのいずれも強調表示されていない場合です、次に両方のボタンから無効を削除します。

しかし、私はかなりこの仕事をしているように見えます。.class()を使用してクラスを読み込もうとすると、ifステートメントでエラーが発生し続けます。

function btnclick(btn) {
    var context = $(btn).parents('#optionAndAnswer');
    if (context.length == 0) {
        context = $(btn).parents('tr');
    }
    $(btn).toggleClass("answerBtnsOff");
    $(btn).toggleClass("answerBtnsOn");
    if (btn = 'Yes').class('.answerBtnsOn') {
        $(btn = 'No').attr("disabled", "disabled");
    } else if (btn = 'No').class('.answerBtnsOn') {
        $(btn = 'Yes').attr("disabled", "disabled");
    } else if (btn = 'Yes' && btn = 'No').class('.answerBtnsOff') {
        $(btn = 'Yes' && btn = 'No').removeAttr("disabled");
    }
    return false;
}
4

2 に答える 2

1

あなたが投稿したjavascriptには多くの問題がありますが、あなたの質問には使用しhasClass()ないでclass()ください。これはブール値を返します。要素にクラスが含まれている場合はtrue、それ以外の場合はfalse。

http://api.jquery.com/hasClass/

于 2012-07-10T17:29:22.270 に答える
0

私はこれがあなたが望むものだと思います:

デモ: http: //jsfiddle.net/SO_AMK/7qSen/

HTML:

<input class="answerBtns answers answerBtnsOff" name="answerYesName"   id="answerYes"   type="button"   value="Yes"/>
<input class="answerBtns answers answerBtnsOff" name="answerNoName"    id="answerNo"        type="button"   value="No"/>​

jQuery:

$(".answerBtns").click(function(){
    if ($(this).val() == "Yes") {
        $("#answerNo").attr("disabled", "disabled");
    }

    else if ($(this).val() == "No") {
        $("#answerYes").attr("disabled", "disabled");
    }

});​
于 2012-07-10T17:41:15.383 に答える