2016-08-28 2 views
1

У меня есть динамические поля и вы хотите проверить, были ли значения заданы, возможно, он не работает, никаких ошибок, но ничего не происходит. (Обратите внимание, у меня есть другие скрытые поля на этой странице, мне нужно проверить только те, которые начинаются с ItemId_)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

вы посмотрите на имя^= а входной сигнал имеет только идентификатор –

+0

, если вы находитесь в контроль генерации HTML, вы также можете добавить класс к этим входам и избежать сложных селекторов. '$ ('. someClass')' гораздо читабельнее и выразительнее, чем '$ (" input [id^= 'ItemId _'] ")' – Robert

ответ

1

Вы ищете элементы с атрибутом name, начиная с ItemId_ в то время как ваши входы не имеют атрибут name. Вы можете изменить его id в сценарии Jquery или изменить атрибут nameid в элементах

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 !, слишком долго смотрел и смотрел мне в лицо ! –

Смежные вопросы