그래서 현재 동적으로 확장 할 수있는 양식을 작성 중입니다. 양식에 동적으로 추가 된 각 행에는 jQuery 유형 선행 플러그인을 사용하여 제안 사항을 표시하는 입력 필드가 들어 있습니다.선행 선택 이벤트 (jQuery)의 동적 바인딩
입력 필드에 해당하는 각 새 행에 대해서도 선 택된 선행을 바인드하려고합니다. 이벤트는 제안 이름과 해당 ID를 데이터베이스에 리턴합니다.
function initIdStorageBinding(){
stringField = '#INPUT_FIELD'+counter;
idField = '#INPUT_FIELD_ID'+counter;
$(stringField).bind('typeahead:selected', function(obj, data, name) {
$(idField).val(data['id']);
$(stringField).val(data['name']);
}
}
이 함수는 현재 행에 대한 인덱스 인 counter에 now 행이 추가 될 때마다 호출됩니다.
문제점 : 바인딩은 항상 현재 선택된 필드가 아닌 양식에 추가 된 마지막 입력 필드에 값을 삽입합니다. 같은 바인딩이 아닌 동적 추가
:
function doBindings(){
$('#INPUT_FIELD1').bind('typeahead:selected', function(obj, data, name) {
$('#INPUT_FIELD_ID1').val(data['id']);
$('#INPUT_FIELD1').val(data['name']);
});
$('#INPUT_FIELD2').bind('typeahead:selected', function(obj, data, name) {
$('#INPUT_FIELD_ID2').val(data['id']);
$('#INPUT_FIELD2').val(data['name']);
});
}
잘 작동합니다.
해결 방법에 대한 아이디어가 있습니까?
카운터는 전역 변수입니다. 멍청한데, – Maeximus