2016-11-22 11 views
0

2つの入力がチェックされている場合、ボタンが無効の属性を追加する場合は、idチェックボックス入力とクラスラジオボタン入力のセレクタを持つこのコードを持っています。属性を削除しました。残念ながら、それは動作していません。いずれかをクリックしたときに、別のセレクタでそれを動作させるにはどうすれば属性を追加できますか?クリックされた現在の要素を参照する必要がある場合のstatemntインサイドクリック機能のjQuery IDとクラスセレクタ

$("#callbackReq input.callbackopt").on("click", function() { 
 
    if ($("#callbackReq input.callbackopt").is(":checked")) { 
 
    $("#submitBtn").attr('disabled','disabled'); 
 
    } else { 
 
    $("#submitBtn").removeAttr('disabled'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<label> 
 
    <input type="checkbox" value="" id="callbackReq" name="callbackReq"> 
 
    Call back 
 
</label> 
 

 
<br /> 
 
<label class="radio-inline radio-choices">   
 
    <input class="callbackopt" type="radio" name="acceptedModr" id="approved" value="Y" checked /> 
 
    Approved 
 
</label> 
 

 
<label class="radio-inline radio-choices"> 
 
    <input class="callbackopt" type="radio" name="acceptedModr" id="rejected" value="N"/> 
 
    Rejected 
 
</label> 
 

 
<br /> 
 

 
<button class="btn btn-primary move-right" type="submit" value="ENTER" id="submitBtn" name="submitBtn" disabled> 
 
    Save and Next 
 
</button>

+0

ポストだけでなくHTML

$(document).ready(function(){ \t $("#callbackReq, input.callbackopt").on("click", function(){ \t \t if ($(this).is(":checked")) { \t \t \t $("#submitBtn").prop('disabled','disabled'); \t \t } \t \t else if ($("input[name='acceptedModr']").is(":checked")) { \t \t \t $("#submitBtn").prop('disabled','disabled'); \t \t } \t \t else if(!$(this).is(":checked")) { \t \t \t $("#submitBtn").removeAttr('disabled'); \t \t } \t }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <label> \t <input type="checkbox" value="" id="callbackReq" name="callbackReq" >Call back </label> <br /> <label class="radio-inline radio-choices"> \t <input class="callbackopt" type="radio" name="acceptedModr" id="approved" value="Y"/>Approved </label> <label class="radio-inline radio-choices"> \t <input class="callbackopt" type="radio" name="acceptedModr" id="rejected" value="N"/>Rejected </label> <br /> <button class="btn btn-primary move-right" type="submit" value="ENTER" id="submitBtn" name="submitBtn">Save and Next</button>
は、私たちは、要素を見ることができます。 – adeneo

+0

言い換えれば、[mcve]が何であるかをよく理解してください。私たちは問題を再現できないときに助ける方法がありません – charlietfl

+0

申し訳ありません、htmlを投稿しました。 – Jemai

答えて

1

は、ここでは、コードです。このようなif文の内側にコードを変更してみてください。

$("#callbackReq,input.callbackopt").on("click", function() { 
 
    if (($(this).is(':checkbox') && $(this).is(":checked")) || $(this).val() == 'Y') { 
 
    $("#submitBtn").prop('disabled', false); 
 
    } else { 
 
    $("#submitBtn").prop('disabled', true); 
 
    } 
 
}); 
 

 
// or this if want radio button only 
 
/*$("#callbackReq,input.callbackopt").on("click", function() { 
 
    if ($(this).val() == 'Y') { 
 
    $("#submitBtn").prop('disabled', false); 
 
    } else { 
 
    $("#submitBtn").prop('disabled', true); 
 
    } 
 
});*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<label> 
 
    <input type="checkbox" value="" id="callbackReq" name="callbackReq">Call back 
 
</label> 
 

 
<br /> 
 
<label class="radio-inline radio-choices"> 
 
    <input class="callbackopt" type="radio" name="acceptedModr" id="approved" value="Y" />Approved 
 
</label> 
 

 
<label class="radio-inline radio-choices"> 
 
    <input class="callbackopt" type="radio" name="acceptedModr" id="rejected" value="N" checked/>Rejected 
 
</label> 
 

 
<br /> 
 

 
<button class="btn btn-primary move-right" type="submit" value="ENTER" id="submitBtn" name="submitBtn" disabled>Save and Next</button>

+0

スニペットが更新されました –

0

は、ここで作業溶液:)です。それが役に立てば幸い!

関連する問題