jquery如果选择器更改重置或清除文本输入字段问题

jquery If selector changes reset or clear text input field issue

本文关键字:文本 清除 输入 字段 问题 选择器 如果 jquery      更新时间:2023-09-26

因此,我希望在前一个选择器更改时重置或清除某些字段。我可以让select标记返回到默认选项,但不能让文本输入字段清除。

以下是jsfiddle,让您了解我所说的内容:http://jsfiddle.net/wsk3opbf/

以下是我的代码:HTML

    <select id="type">
        <option>--Select--</option>
        <option>45ppm</option>
        <option>55ppm</option>
    </select>
    <input id="testone" type="text">    
    </input>
    <select name="mediumcopier" id="mediumcopier">
        <option value="">--Select--</option>
        <option value="">no</option>
        <option value="onecopier">yes</option>
    </select>
    <select name="largecopier" id="largecopier">
        <option value="">--Select--</option>
        <option value="">no</option>
        <option value="onecopier">yes</option>
    </select>

jquery

$('#type').change(function(){
    $('#smallcopier, #mediumcopier').prop('selectedIndex',0);
    $('#testone'.val() = '');
});

您没有任何id small复印机,并且testone的设置不正确,请尝试

$('#type').change(function(){
    $('#mediumcopier, #largecopier').prop('selectedIndex',0);
    $('#testone').val('');
});

您将新值作为参数/自变量提供给val()函数,如下所示

$('#type').change(function(){
    $('#smallcopier, #mediumcopier').prop('selectedIndex',0);
    $('#testone').val('');
});

实际上,.val()只是返回一个可以存储到变量中的值。如果要更改选择器的实际值,则必须将其作为参数传递。

$('#testone').val('');

应该是

   $('#testone').val('') ;

不是你不能这样分配

 $('#testone').val = '';

因为val是jQuery对象的方法或函数,其中参数以(")或("y value")形式传递,所以分配不是可变的

您的代码:

$('#testone'.val() = '');

无法工作,这是一个语法错误;您有一个放错位置的)应该是–语法上,但仍然"破碎"–如下所示:

$('#testone').val() = '';

但是,这将导致Invalid left side in assignment(或类似的错误),因为您正试图将一个空字符串分配给另一个字符串。我怀疑你想要的是:

$('#testone').val('');

它将把#testone元素的值设置为空字符串,可能会把<input>设置回默认值:

$('#testone').val(function () {
    return this.defaultValue;
});