鉴于这个div:
<div id="addActor1">
<select type="select" id="ddlSelectActor1" class="selectActor">
</select><br />
<br />
<p class="newActor">
<label id="lblAddActor1FirstName" for="txtAddActor1FirstName">First Name: </label>
<input type="text" id="txtAddActor1FirstName" size="20" />
<label id="lblAddActor1LastName" for="txtAddActor1LastName">Last Name: </label>
<input type="text" id="txtAddActor1LastName" size="20" />
</p>
</div>
如果选择了一个特定选项(在js文件中填充),我需要检查其中一个输入是否输入了任何内容。
我尝试了以下类似的内容,但无法弄清楚:
$('#addActorsDialog select.selectActor').each(function() {
var empty = true;
// This gives me js error in console: "Uncaught Error: Syntax error, unrecognized expression: p input:nth-child(2)]"
console.log('p html: ' + $(this).parent().find('p input:nth-child(2)]').text());
if ($(this).val() !== '0' ||
($(this).val() === 'a'
// || [if textboxes are empty]
)
) { empty = false; }
//...
});
如何检查输入中是否有值?
答案 0 :(得分:4)
我认为您需要删除]
find('p input:nth-child(2)' )
并检查这两个输入是否有值:
var emptyInputs = $(this).parent().find('p input[type="text"][value!=""]');
if(emptyInputs.length > 0) {
empty = false;
} else {
empty = true;
}
OR
var emptyInputs = $(this).parent().find('p input[type="text"]').filter(function() {
return $.trim( this.value ).length > 0;
});
答案 1 :(得分:0)
试试这个:
console.log('p html: ' + $(this).parent().find('p input:nth-child(2)')[0].text());
这将为您提供find
返回的列表中第一个元素的文本值。