2011-01-09 4 views
2

사용자가 양식을 게시하면 여러 필드로 분할 된 주소의 유효성을 검사합니다. 주소가 없으면 유용 할 수도있는 추천 장소가있는 목록을 표시합니다. 제안 사항은 링크처럼 보입니다.사용자가 제안을 클릭하면 여러 양식 필드 채우기

내가 원하는 것은 사용자가 하나의 링크를 클릭하면 여러 양식 필드가 JQuery를 사용하여 채워진다는 것입니다. 가짜 링크는 다른 정보를 포함 할 수 있지만 JQuery를 사용하여 형식을 지정하고 구문 분석하는 방법을 잘 모르겠습니다. 나는 숨겨진 필드를 사용하는 것에 대해 생각하고 있었지만 이것이 올바른 접근 방법인지 확실하지 않았습니다.

감사합니다,

답변

1

아마 링크 (앵커) 요소 자체 내에서 값을 저장하는 jQuery .data()을 사용하십시오. 페이지 시작시 각 링크에 연결된 데이터를 .data()으로 지정하십시오. 그런 다음 모든 링크에 하나의 "제안".click() 처리기를 지정할 수 있습니다.

자바 스크립트 :

$(document).ready(function() { 
    // assign suggestion data 
    $('#link1').data('field1', 'foo'); 
    $('#link1').data('field2', 'bar'); 

    $('#link2').data('field1', 'baz'); 
    $('#link2').data('field2', 'qux'); 

    // bind suggestion click handler 
    $('a.suggestion').bind('click', function() { 
     $('#field1').val($(this).data('field1')); 
     $('#field2').val($(this).data('field2')); 
    }); 
}); 

HTML : 내가 볼

<input type="text" id="field1" /> 
<input type="text" id="field2" /> 

<a href="#" id="link1" class="suggestion">Link 1</a> 
<a href="#" id="link2" class="suggestion">Link 2</a> 
+0

만 문제는 데이터의 방법은 XHTML & 불행하게도 방문자의 주요 브라우저는 IE와 크로스 플랫폼가 없습니다. 다른 생각? 감사합니다 – maraujop

+0

흠, 죄송합니다. XML 문서의 데이터에 대한 IE 호환성 정보가 HTML에 적용되는지 여부는 알 수 없습니다. (나는 IE가 없으므로 테스트 할 수 없습니다.) 숨겨진 필드 등을 피하려고한다면 모든 값을 가진 전역 JS 배열/객체를 만들 수 있습니다. 눈에 띄게 덜 시원하다. :-) – Wiseguy

+0

문제는 없지만 개발 용으로 Linux를 사용하여 IE로 테스트해야합니다. 나는 이것이 당신이 글로벌 JS 객체를 갖는 것보다 더 멋지다는 것에 동의한다. 어쨌든 나는 당신의 대답을 받아 들였습니다. 감사합니다. – maraujop

관련 문제