Следующий фрагмент не работает для меня. В основном я хочу проверить, есть ли элемент ввода с именем «документы []» и значение item.id и return void.Проверьте, существует ли элемент в DOM
Я думал, что эта линия сделает это: $("input [name='documents[]'][value='"+item.id+"'") != false
.
Однако утверждение возвращает true каждый раз. Я просмотрел документацию для конструктора jQuery и ничего не упоминает о возврате false, если ни один элемент не найден для селектора.
Как я могу определить, не имеет ли селектор каких-либо элементов?
$.ajax({
url:'/myid/documents/json_get_documents/'+request.term,
dataType:"json",
success: function(data) {
response($.map(data, function(item){
if($("input [name='documents[]'][value='"+item.id+"'") != false) {
return; //This item has already been added, don't show in autocompete
}
return {
label: '<span class="file">'+item.title+'</span>',
id: item.id,
value: 'Search by title'
}
}))
}
});
Да, вызов функции 'jQuery' (с селектором и, при необходимости, контекстом) всегда будет возвращать объект коллекции jQuery, который содержит свойство' length', или количество элементов, сопоставленных. –