1

この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>

select(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; }
    //...
});

ここでどちらかの入力に値があるかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

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;
}

また

var emptyInputs = $(this).parent().find('p input[type="text"]').filter(function() {
                       return $.trim( this.value ).length > 0;
                  });
于 2013-02-18T16:48:01.170 に答える
0

これを試して:

console.log('p html: ' + $(this).parent().find('p input:nth-child(2)')[0].text());

これにより、によって返されるリストの最初の要素のテキスト値が得られますfind

于 2013-02-18T16:48:45.127 に答える