2017-02-11 86 views
1

我有四个单选按钮(固定,百分比,每月,每年),我创建了五个字段的div,起始价格,结束价格,开始日期,结束日期和金额。我想要的是,当点击固定或百分比按钮时,应该启用所有五个字段,并在每月或每年按钮上单击开始价格和结束价格字段时应该被禁用(因为我不想传递这些字段的值)。我也有添加更多的羊肉需要做同样的事情,即当增加更多的行到固定/百分比时,所有字段都应该启用,并且在向月/字段添加行时,应该禁用开始/结束价格字段。提前致谢。对于格的标签禁用单选按钮更改

HTML代码

<label class="col-sm-2 control-label" for="radioo">Commission type <b style="color:red;">*</b></label> 
     <div class="col-lg-10" required> 
      <label class="custom-control custom-control-primary custom-radio"> 
      <input class="custom-control-input" type="radio" name="comission_type" value="0" checked="checked"> 
      <span class="custom-control-indicator"></span> 
      <span class="custom-control-label">Fixed price</span> 
      </label> 
      <label class="custom-control custom-control-primary custom-radio"> 
      <input class="custom-control-input" type="radio" name="comission_type" value="1"> 
      <span class="custom-control-indicator"></span> 
      <span class="custom-control-label">Percentage wise</span> 
      </label> 
      <label class="custom-control custom-control-primary custom-radio"> 
      <input class="custom-control-input" type="radio" name="comission_type" value="2"> 
      <span class="custom-control-indicator"></span> 
      <span class="custom-control-label">Monthly</span> 
      </label> 
      <label class="custom-control custom-control-primary custom-radio"> 
      <input class="custom-control-input" type="radio" name="comission_type" value="3"> 
      <span class="custom-control-indicator"></span> 
      <span class="custom-control-label">Yearly</span> 
      </label> 
    </div> 

HTML代码

<div id="fixPerDiv" style="display:block;"> 
     <div class="form-group"> 
     <div class="col-lg-11 col-lg-offset-1"> 
      <div class="table-responsive"> 
      <table class="table" id = 'commision_tbl' > 
      <tr> 
       <td width = '20%'>Start price</td> 
       <td width = '20%'>End price</td> 
       <td width = '20%'>Start date</td> 
       <td width = '20%'>End date</td> 
       <td width = '20%'>Comission</td> 
       <td>&nbsp;</td> 
      </tr> 

      <tr> 
      <td><input type="number" name="commissions_start_price[]" class="form-control" value="" placeholder="Start Price" required="required" /></td> 
      <td><input type="number" name="commissions_end_price[]" class="form-control" value="" placeholder="End Price" required="required"/></td> 
      <td><div class="input-with-icon"><input type="text" data-provide="datepicker" value="" data-date-today-highlight="true" name="start_date[]" class="form-control" placeholder="Start date" required="required"/><span class="icon icon-calendar input-icon"></span></div></td> 
      <td><div class="input-with-icon"><input type="text" data-provide="datepicker" value="" data-date-today-highlight="true" name="end_date[]" class="form-control" placeholder="End date" required="required"/><span class="icon icon-calendar input-icon"></span></div></td> 
      <td><input type="number" name="commissions_amount[]" class="form-control" value="" placeholder="Commision price" required="required"/></td> 
      <td>&nbsp;</td> 
      </tr> 

      <tr> 
       <td colspan="6" align = "center"> 
        <input type="button" value="Add More" id="price_addmorebtn" class="btn btn-outline-info"> 
       </td> 
       </tr> 
      </table> 

       </div> 
       </div> 
      </div> 
      </div> 
禁用为每月/每年单选按钮两个字段(不完全)

<script> 
$(document).ready(function() { 
    console.log('called'); 
    $('input[type=radio][name=comission_type]').change(function() { 
     if (this.value == '0' || this.value == '1') { 


     $("#fixPerDiv").css("display","block"); 


     } 
     else if (this.value == '2' || this.value == '3') { 


      $("#fixPerDiv").css("display","block"); 

     } 
    }); 
}); 
</script> 

脚本为

Script代码添加按钮

<script> 
$('#price_addmorebtn').click(function(){ 
    var tr = "<tr>"; 
    tr += "<td><input type=\"number\" name=\"commissions_start_price[]\" class=\"form-control\" placeholder=\"Start Price\" required /></td>"; 
    tr += "<td><input type=\"number\" name=\"commissions_end_price[]\" class=\"form-control\" placeholder=\"End Price\" required /></td>"; 
    tr += "<td><div class=\"input-with-icon\"><input name=\"start_date[]\" placeholder=\"Start date\" data-provide=\"datepicker\" data-date-today-highlight=\"true\" class=\"form-control\" required /><span class=\"icon icon-calendar input-icon\"></span></div></td>"; 
    tr += "<td><div class=\"input-with-icon\"><input name=\"end_date[]\" placeholder=\"Start date\" data-provide=\"datepicker\" data-date-today-highlight=\"true\" class=\"form-control\" required /><span class=\"icon icon-calendar input-icon\"></span></div></td>"; 
    tr += "<td><input type=\"number\" name=\"commissions_amount[]\" class=\"form-control\" placeholder=\"Commision price\" required /></td>"; 
    tr += "<td><span class = 'romoverow icon icon-close' style=\"cursor:pointer; padding-top:12px;\" title=\"Click to remove this row.\"></span></td>"; 
    $('#commision_tbl tr:last').before(tr); 
}); 
$(document).on('click','.romoverow',function(){ 
    //alert('Hello'); 
     $(this).closest('tr').remove(); 
}); 

回答

0

试试这个:对于DIV

HTML代码

<div id="fixPerDiv" style="display:block;"> 
     <div class="form-group"> 
     <div class="col-lg-11 col-lg-offset-1"> 
      <div class="table-responsive"> 
      <table class="table" id = 'commision_tbl' > 
      <tr> 
       <td width = '20%'>Start price</td> 
       <td width = '20%'>End price</td> 
       <td width = '20%'>Start date</td> 
       <td width = '20%'>End date</td> 
       <td width = '20%'>Comission</td> 
       <td>&nbsp;</td> 
      </tr> 

      <tr> 
      <td><input type="number" name="commissions_start_price[]" class="form-control" value="" placeholder="Start Price" required="required" /></td> 
      <td><input type="number" name="commissions_end_price[]" class="form-control" value="" placeholder="End Price" required="required"/></td> 
      <td><div class="input-with-icon"><input type="text" data-provide="datepicker" value="" data-date-today-highlight="true" name="start_date[]" class="form-control start_date" placeholder="Start date" required="required"/><span class="icon icon-calendar input-icon"></span></div></td> 
      <td><div class="input-with-icon"><input type="text" data-provide="datepicker" value="" data-date-today-highlight="true" name="end_date[]" class="form-control end_date" placeholder="End date" required="required"/><span class="icon icon-calendar input-icon"></span></div></td> 
      <td><input type="number" name="commissions_amount[]" class="form-control" value="" placeholder="Commision price" required="required"/></td> 
      <td>&nbsp;</td> 
      </tr> 

      <tr> 
       <td colspan="6" align = "center"> 
        <input type="button" value="Add More" id="price_addmorebtn" class="btn btn-outline-info"> 
       </td> 
       </tr> 
      </table> 

       </div> 
       </div> 
      </div> 
      </div> 

的脚本添加按钮

$('#price_addmorebtn').click(function(){ 
    var selected_val = $("input[type=radio][name=comission_type]:checked").val();  
    var date_disabled=""; 
    if (selected_val == '2' || selected_val == '3') { 
     date_disabled=" disabled "; 
    } 
    var tr = "<tr>"; 
    tr += "<td><input type=\"number\" name=\"commissions_start_price[]\" class=\"form-control\" placeholder=\"Start Price\" required /></td>"; 
    tr += "<td><input type=\"number\" name=\"commissions_end_price[]\" class=\"form-control\" placeholder=\"End Price\" required /></td>"; 
    tr += "<td><div class=\"input-with-icon\"><input name=\"start_date[]\" placeholder=\"Start date\" data-provide=\"datepicker\" data-date-today-highlight=\"true\" class=\"form-control start_date\" required"+date_disabled+" /><span class=\"icon icon-calendar input-icon\"></span></div></td>"; 
    tr += "<td><div class=\"input-with-icon\"><input name=\"end_date[]\" placeholder=\"Start date\" data-provide=\"datepicker\" data-date-today-highlight=\"true\" class=\"form-control end_date\" required"+date_disabled+" /><span class=\"icon icon-calendar input-icon\"></span></div></td>"; 
    tr += "<td><input type=\"number\" name=\"commissions_amount[]\" class=\"form-control\" placeholder=\"Commision price\" required /></td>"; 
    tr += "<td><span class = 'romoverow icon icon-close' style=\"cursor:pointer; padding-top:12px;\" title=\"Click to remove this row.\"></span></td>"; 
    $('#commision_tbl tr:last').before(tr); 
}); 
    $(document).on('click','.romoverow',function(){ 
     //alert('Hello'); 
      $(this).closest('tr').remove(); 
    }); 

禁用每月/每年单选按钮的两个字段的脚本代码

$('input[type=radio][name=comission_type]').change(function() { 
     if (this.value == '0' || this.value == '1') { 
     $(".start_date").attr("disabled",false); 
     $(".end_date").attr("disabled",false); 


     } 
     else if (this.value == '2' || this.value == '3') { 

      $(".start_date").attr("disabled",true); 
      $(".end_date").attr("disabled",true);   

     } 
    }); 
+0

令人惊叹的,非常感谢。但有一个概率,当我点击每月/每年的单选按钮时,该行显示按要求禁用了两个字段。但当点击添加更多按钮时,新行并不禁用两个字段,但是当将单选按钮更改为年/百分比/固定,反之亦然,那么只有所有添加的行更改为禁用每月/每年的两个字段。现在我需要的是当我点击添加按钮每月/每年div我应该得到禁用(两个)字段。比你这么多:-) @ B.desai –

+0

非常感谢你,它的工作:-) @ b.desai –

+0

然后接受这个答案。 –