0

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

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

问题是当文本字段为空时,然后用选择值填充,然后使用重置/清除按钮,输入文本没有被清空,但它仍然保持动态插入的值:

输入:

<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>

查询:

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

一些选择框将值动态输入到文本字段。有什么想法可以完全清空文本字段吗?谢谢

脚步:

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

  2. select 的值被插入到文本字段中。一切都很好

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

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

$('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>
4

2 回答 2

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>

于 2012-05-18T10:32:05.383 回答
0

您可以尝试这种其他方式来做到这一点:

  $('button.clear').click(function () {
    $('input').attr('value', '') ;// this clears google, but not yahoo
});
于 2012-05-18T09:53:17.380 回答