如果默认情况下为空,如何完全清空输入文本

时间:2012-05-18 09:46:29

标签: jquery

我有几个输入,一些是默认值,一些是空的,由动态选择值填充

当我选择时,选择框的值将插入到输入文本中。

问题是当textfield为空,然后填充select值,然后使用reset / clear按钮时,输入文本没有清空,但它仍然保持动态插入值:

输入:

<input type="text" value="" name="yahoo">
<input type="text" value="some default value" name="google">
<button class="button clear" type="button" accesskey="x">Clear</button>

Jquery的:

$('button.clear').click(function () {
  $('input').val(''); // this clears google, but not yahoo
});

一些选择框动态地将值输入到文本字段。 有没有想彻底清空文本域? 感谢

步骤:

  1. 我确实更改了一个选择框

  2. select的值插入到textfield中。一切都很好

  3. 问题是当默认为空时,清除按钮不会清空文本字段(动态填充)

  4. 我将用简化的代码澄清我的问题:

    $('select').swicthClass();
    
    $.fn.swicthClass = function (options) {
     // .............
    };
    
    var src = 'some-value-from-select-box'; // hence good, bad etc
    $('body.bad').find('input[name="yahoo"]').val(src); 
    
    
    
    <select>
      <option selected="selected" value="good">Good</option>
          <option value="bad">Bad</option>
          <option value="worse">Worse</option>
          <option value="damn">Damn</option>
        </select>
    

2 个答案:

答案 0 :(得分:2)

您可能想尝试这个

$('button.clear').click(function () {
  $('input').val('');
});

$("select").on("change", function() {
  var src = 'good';
  $('[name=yahoo]').val(src); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="text" value="" name="yahoo" >
<input type="text" value="some default value" name="google">
<button class="button clear" type="button" accesskey="x">Clear</button>

<select>
  <option selected="selected" value="good">Good</option>
  <option value="bad">Bad</option>
  <option value="worse">Worse</option>
  <option value="damn">Damn</option>
</select>

答案 1 :(得分:0)

您可以尝试其他方式来执行此操作:

  $('button.clear').click(function () {
    $('input').attr('value', '') ;// this clears google, but not yahoo
});