点击函数

时间:2016-11-22 02:03:12

标签: jquery

我的这个代码带有一个带有id复选框输入的选择器和一个类单选按钮输入的代码,如果检查了两个输入,按钮将添加一个属性为disabled,否则它将删除attrib,不幸的是它不是工作如何在单击其中任何一个时使用不同的选择器,它将添加一个属性?

以下是代码:

$("#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>

2 个答案:

答案 0 :(得分:1)

在if中,statemnt应该引用被点击的当前元素。尝试更改if语句中的代码,如下所示:

$routeProvider
    .when('/mypage/:producttype', {
        templateUrl: 'product',
        controller: 'productController',
        resolve: {
            setTitle: function($route) { 
                SetWindowTitle('product ' + $route.current.params.producttype)
            }
        },
    })
$("#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);
  }
});*/

答案 1 :(得分:0)

这是一个有效的解决方案:)。希望它有所帮助!

-Dcom.sun.management.jmxremote= 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
$(document).ready(function(){
	$("#callbackReq, input.callbackopt").on("click", function(){
		if ($(this).is(":checked")) {
			$("#submitBtn").prop('disabled','disabled');
		} 
		else if ($("input[name='acceptedModr']").is(":checked")) {
			$("#submitBtn").prop('disabled','disabled');
		}
		else if(!$(this).is(":checked"))  {
			$("#submitBtn").removeAttr('disabled');
		}
	});
});