如何将一个文本框设置为启用而另一个文本框被禁用?

时间:2015-03-02 13:36:27

标签: jquery

这是我的代码...... 在这里,一个文本框被隐藏,另一个文本框被启用命名(许可证).. 选中复选框时,复选框的值需要设置为隐藏文本框并启用它... 并且需要禁用已启用的文本框...

$(document).ready(function(){
    
  $('input[name=licence3]').blur(function(){
    var third = $(this).val();
    var first = $('input[name=licence1]').val();
    var second = $('input[name=licence2]').val();
    
    
    
    $('input[name=licence]').val(first+second+third);
    
  });
  
  $("#check").click(function() {
    $('input[name=licence1]').val("");
    $('input[name=licence2]').val("");
    $('input[name=licence3]').val("");
    $('input[name=licence]').val("");
    
    // Here i need another coding While clicking checkbox 
//the checkbox value should set to the hidden textbox value which is in same name...
    //And the Enabled textbox should be disable
  });
  
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<form>
  <input type="hidden" name="licence" value="" disabled="disabled" />
  <input type="text" name="licence1" value="" />
  <input type="text" name="licence2" value="" />
  <input type="text" name="licence3" value="" />
 
  <input type="checkbox" id="check" value="Applied">
  <br>
  <br>
  Final<input type="text" name="licence" value="" />
 </form>

2 个答案:

答案 0 :(得分:0)

您可以使用

禁用输入标记
 $('input[name=licence]').attr('disabled', 'true')

无法理解您的实际要求,希望以下代码段有所帮助

$(document).ready(function(){
    
  $('input[name=licence3]').blur(function(){
    var third = $(this).val();
    var first = $('input[name=licence1]').val();
    var second = $('input[name=licence2]').val();
    
    
    
    $('input[name=licence]').val(first+second+third);
      $('input[name=licence]').attr('disabled','true')
  });
  
  $("#check").click(function() {
    $('input[name=licence1]').val("");
    $('input[name=licence2]').val("");
    $('input[name=licence3]').val("");
    $('input[name=licence]').val("");
    
    // Here i need another coding While clicking checkbox 
//the checkbox value should set to the hidden textbox value which is in same name...
    //And the Enabled textbox should be disable
  });
  
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<form>
  <input type="hidden" name="licence" value="" disabled="disabled" />
  <input type="text" name="licence1" value="" />
  <input type="text" name="licence2" value="" />
  <input type="text" name="licence3" value="" />
 
  <input type="checkbox" id="check" value="Applied">
  <br>
  <br>
  Final<input type="text" name="licence" value="" />
 </form>

答案 1 :(得分:0)

$('input:checkbox').on('click',function(){
  if(this.checked){
         var value = $('input[name=licence1]').val()+$('input[name=licence2]').val()+$('input[name=licence3]').val();
         $('input:hidden').val(this.val(value)).prop('disabled',!this.checked);
         $('input:enabled').val('').prop('disabled',this.checked);
  }
});

我无法完全理解你的问题,我认为当选中复选框时,你需要4件事

  1. 将复选框值设置为input:hidden field。
  2. 禁用所有已启用的输入字段。
  3. 清空已启用的输入值。
  4. 显示隐藏的输入字段,其值等于3个输入字段的总和