jQuery - 检查多个子输入是否有值

标签 jquery

给定这个 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; }
    //...
});

如何检查任一输入是否有值?

最佳答案

我认为您需要删除]

find('p 输入:nth-​​child(2)' )

要检查任一输入是否有值,您可以执行以下操作:

var emptyInputs = $(this).parent().find('p input[type="text"][value!=""]');

if(emptyInputs.length > 0) {
   empty = false;
} else {
   empty = true;
}

或者

var emptyInputs = $(this).parent().find('p input[type="text"]').filter(function() {
                       return $.trim( this.value ).length > 0;
                  });

关于jQuery - 检查多个子输入是否有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14941187/

相关文章:

jquery - jqGrid 中的 html 链接列

jquery - 使用链接更改单独 div 的类

javascript - HTML5 时间轴、甘特图控件

javascript - 页面加载时从 Iframe 中移除焦点

javascript - 使用 JS 更改字体大小时忽略十进制

php - 提交表单后停止 JQuery 验证

jquery - 循环轮播jquery

JQuery SlideToggle 替换图像 src

javascript - 切换 Div 对单选按钮选择问题的可见性

javascript - jQuery 悬停事件同时影响两个不同的 Div(未嵌套)