다음 스 니펫이 저에게 효과적이지 않습니다. 기본적으로 이름이 "documents []"이고 값이 item.id이고 반환 값이 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' 함수 호출은 항상 'length' 속성 또는 일치하는 요소의 수를 포함하는 jQuery 컬렉션 객체를 반환합니다. –