jQuery val()indexOf无法正常工作

如果输入值包含某个单词但尝试做某事但这不起作用:

var formMain = $('#MainForm :input[name="Search"]'); if ((formMain).value.indexOf('word') >= 0) { alert('HAS THIS WORD IN IT!'); 

示例表格:

 

你的标题提到val()但你实际上并没有使用它。 formMain是一个jquery对象,没有value ,你应该使用val()

 var formMain = $('#MainForm :input[name="Search"]'); if (formMain.val().indexOf('word') >= 0) { alert('HAS THIS WORD IN IT!'); } 

另请注意, formMain是一个误导性的变量名称,因为它不是主要forms,而是包含搜索输入的jquery对象。

 $(function(){ var formMain = $('#MainForm input[name="Search"]').val(); if (formMain.indexOf('word') >= 0) { alert('HAS THIS WORD IN IT!'); } }); 

可能你在使用选择器时出错了,应该只使用带选择器的.val这里有一些东西供你检查这个http://jsfiddle.net/sahil20grover1988/V2dsn/3/