2016-08-28 17 views
1

私は動的なフィールドを持っていて、値が設定されているかどうかをチェックしたい、できないように見えるがエラーはないようだが、jquery隠しフィールドに値があるかどうかをチェック

<div id="List"> 
<row id="row_bb0acd1a-b1e8-6f8c-88ea-324432339176"> 
<input type="hidden" id="ItemId_bb0acd1a-b1e8-6f8c-88ea-324432339176"> 
</row> 
<row id="row_aaaaa-b1e8-6f8c-88ea-31223333"> 
<input type="hidden" id="ItemId_aaaaa-b1e8-6f8c-88ea-31223333"> 
</row> 

</div> 
<button type="button" onclick="Validate()")Next</button> 

function Validate() 
{ 

$.each($('#List').find("input[name^='ItemId_']"), function (key, value) { 
       console.log(value); 
       console.log(key); 
       if (value.length == 0) { 
        alert('Please ensure you select a item from the list'); 
        return false; 
       } 
} 
+0

^=しかし、あなたがしている場合、入力はIDのみ –

+0

を持っていますHTMLの生成を制御することで、これらの入力にクラスを追加したり、複雑なセレクタを避けることもできます。 '$( '。someClass')'は '$(" input [id^= 'ItemId _'] ")' – Robert

答えて

1

あなたの入力がありませんしながら、ItemId_で始まるname属性を持つ要素を探しています(私だけItemId_で始まるものを検証する必要があり、私はページ上の他の隠されたフィールドを持っていますのでご注意ください) name属性。 あなたはjqueryのスクリプトでidにそれを変更したり、要素にnameからid属性を変更することができます

function Validate() { 
 
    $.each($('#List').find("input[id^='ItemId_']"), function(key, value) { 
 
    console.log(value); 
 
    console.log(key); 
 
    if (value.length == 0) { 
 
     alert('Please ensure you select a item from the list'); 
 
     return false; 
 
    } 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="List"> 
 
<row id="row_bb0acd1a-b1e8-6f8c-88ea-324432339176"> 
 
<input type="hidden" id="ItemId_bb0acd1a-b1e8-6f8c-88ea-324432339176"> 
 
</row> 
 
<row id="row_aaaaa-b1e8-6f8c-88ea-31223333"> 
 
<input type="hidden" id="ItemId_aaaaa-b1e8-6f8c-88ea-31223333"> 
 
</row> 
 

 
</div> 
 
<button type="button" onclick="Validate()">Next</button>
あなたが名前を探し

+0

doh!よりもはるかに読みやすく表現力があります。 ! –

関連する問題