我有两个复选框,我必须运行3个不同的功能,具体取决于用户检查的内容。
但是我似乎无法正确获取值:
$('#checks').click(function() {
if (!$('#different-billing-address').is(":checked") && $('#ccheck').is(":checked")) {alert("function1");}
if ($('#different-billing-address').is(":checked") && !$('#ccheck').is(":checked")) {alert("function2");}
if (!$('#different-billing-address').is(":checked") && !$('#ccheck').is(":checked")) {alert("function3");}
});
<input type="checkbox" id="different-billing-address" data-multiplier="0.9" name="deliveryAddressSameAsBillingAddress" aria-expanded="false">
<label for="different-billing-address" class="checkbox-button">Delivery address is the same as billing address </label>
<br>
<input type="checkbox" id="ccheck" style="float:left;">
<label id="ocpc" class="checkbox-button"> Get it delivered to an Order and Collection Point</label>
<br>
<button id="checks">MyButton</button>
有人可以向我解释为什么这不起作用?
谢谢!
答案 0 :(得分:0)
你的逻辑很好看。但是,没有足够的信息来说明您的代码无法正常工作的原因。它可能是由以下原因引起的:
[1,+,3,*,5]
部分或底部,但在代码之前包含jQuery。head
中,以确保代码在$(function() { /* your code here */ });
加载后触发。以下演示使用您的逻辑并正常工作。
DOM
&#13;
$(function() {
var check1 = $('#different-billing-address'),
check2 = $('#ccheck'),
button = $('#checks');
button.on('click', function() {
if( !check1.is(':checked') && check2.is(':checked') ) { console.log('Function1'); }
if( check1.is(':checked') && !check2.is(':checked') ) { console.log('Function2'); }
if( !check1.is(':checked') && !check2.is(':checked') ) { console.log('Function3'); }
});
});
&#13;