그냥 그들에게 모든 일반적인 클래스 이름을주고, 클래스 선택기를 사용하여 변경 이벤트를 바인딩 :
HTML :
<input type="text" class="search-field" />
<input type="text" class="search-field" />
<select class="search-field" ><option>1</option><option>2</option></select>
<input type="radio" class="search-field" />
JS :
$('.search-field').change(function() {
// validate all search field values
// display search results based on values
// if search results already shown, filter based on $(this).val()
});
을 이러한 필드가 많으면
HTML :
<div id='parent'>
<input type="text" class="search-field" />
<input type="text" class="search-field" />
<select class="search-field" ><option>1</option><option>2</option></select>
<input type="radio" class="search-field" />
</div>
JS :
핸들러는 각각 (위의 코드가 수행으로), 당신이 위임 된 이벤트 처리기를 사용하여 더 나은 성능을 얻을 것에 바인딩 한
$('#parent').on('change', '.search-field', function() {
// validate all search field values
// display search results based on values
// if search results already shown, filter based on $(this).val()
});
일부 샘플 마크 업 것 들여다 권하고 싶습니다 착하게 굴 어라. – mVChr
@mVChr 현재 관련 필드 값을 다른 이벤트의 변수로 저장하고 각 이벤트에서 $ ('# field')로 검색 작업을 수행하고 있습니다. change (function() {...}); 이것은 복잡하고 비효율적 인 것처럼 보입니다. 이러한 작업을 수행하는 더 나은 방법이 있기를 바랍니다. – user793468