JQuery清空输入文本框

9

我有一个问题,关于当同一页上的不同下拉菜单被点击时清除输入文本字段的内容,输入文本字段中的值应该被清除。这是我的jQuery函数。每次从下拉菜单中选择选项时,都会显示警报消息,但该字段并未被清除。您有什么正确语法的想法:

jQuery(document).ready(function(){

        jQuery("[id$='serialNumForm:noSerialNumProductKey']").change(function () {
            alert("In jquery change ftn!!");
            jQuery("[id$='serialNumForm:inputSN']").value="";
        });     
    });

我有一个表单Id,所以我需要在元素Id名称前加上该Id。警报显示正常,只是值没有改变。

2个回答

19

你想要使用:

jQuery("[id$='serialNumForm:inputSN']").val("");

1

调用 "jQuery("[id$='serialNumForm:inputSN']")" 不会返回一个输入元素 - 而是返回一个 jQuery 对象。你有两个选择:

使用以下代码获取核心元素:

jQuery("[id$='serialNumForm:inputSN']").get(0)

或者,正如Justin所提到的那样,使用jQuery的val()方法:
jQuery("[id$='serialNumForm:inputSN']").val("");

第二种方法更可靠,因为它将值应用于所有匹配的元素,而第一种方法仅将其应用于第一个匹配的元素(如get(0)中所示)。

你也可以使用jQuery("[id$='serialNumForm:inputSN']")[0]来获取DOM元素,因为jQuery对象是一个数组。 - Justin Swartsel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接