单选框change事件不生效问题解决

项目中遇到需要用jquery给单选框添加change事件

<div id="operationMethodsGroup" style="float: left; margin-right: 10px;">

<nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_pass:通过" οnclick="lbpm.globals.clickOperation(this);" checked="checked">通过</label></nobr>

<nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_refuse:驳回" οnclick="lbpm.globals.clickOperation(this);">驳回</label></nobr> <nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_commission:转办" οnclick="lbpm.globals.clickOperation(this);">转办</label></nobr>

<nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_communicate:沟通" οnclick="lbpm.globals.clickOperation(this);">沟通</label></nobr>

<nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_abandon:废弃" οnclick="lbpm.globals.clickOperation(this);">废弃</label></nobr>

<nobr><label style="padding-right:5px;"><input type="radio" alerttext="" key="operationType" name="oprGroup" value="handler_additionSign:加签" οnclick="lbpm.globals.clickOperation(this);">加签</label></nobr> </div>

 第一想到是是使用change事件

$("input[type='radio'][name=''oprGroup'']").change(function(){

 if (this.value != 'handler_pass:通过') {
        alert("111");
     $("#process_review_button").attr("onclick","Com_Submit(document.kmReviewMainForm, 'publishDraft');");    
        alert("222");
        $("textarea[name='fdUsageContent']").val("");
          }else{
         $("textarea[name='fdUsageContent']").val("建议职级(P3-P9,M1-M5):\n评价:");
    }

}); 但测试发现这种方式并不能生效,无法触发change事件

百度了很多回答,大部分都是不对的,浪费了时间。

经测试以下方式是对的

$(document).on("change","[name='oprGroup']",function(){
    if (this.value != 'handler_pass:通过') {
        alert("111");
     $("#process_review_button").attr("onclick","Com_Submit(document.kmReviewMainForm, 'publishDraft');");    
        alert("222");
        $("textarea[name='fdUsageContent']").val("");
          }else{
         $("textarea[name='fdUsageContent']").val("建议职级(P3-P9,M1-M5):\n评价:");
    }
同时 也可以给每个单选添加onchange事件来解决,例如:

<div class="controls">
   <input type="radio" value="1" οnchange="selected(this)" class="required"/>按品类
   <input type="radio" value="2" οnchange="selected(this)" class="required" />按品牌
   <input type="radio"  value="3" οnchange="selected(this)" class="required"/>按品类&品牌
</div>
function selected(obj) {
   if ($(obj).val() == '1') {
      $(".category").show();
      $(".brand").hide();
              $(".category").removeClass("box-right").addClass("box-left");
          } else if ($(obj).val() == '2') {
      $(".category").hide();
      $(".brand").show();
              $(".brand").removeClass("box-right").addClass("box-left");
   }else if($(obj).val() == '3'){
              $(".brand").show();
              $(".category").show();
              $(".brand").removeClass("box-left").addClass("box-right");
              $(".category").addClass("box-left");
   }
} 此种方式相对麻烦一些 但实现效果相同
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值