2011-01-09 4 views
2

ユーザーがフォームを投稿すると、いくつかのフィールドに分割されたアドレスを検証します。アドレスが見つからない場合は、便利かもしれない候補地点のリストを表示します。これらの提案はリンクのように見えます。ユーザーが提案をクリックするといくつかのフォームフィールドを入力します

私が望むのは、ユーザーが1つのリンクをクリックすると、いくつかのフォームフィールドがJQueryを使用して塗りつぶされるということです。偽のリンクにはさまざまな情報が含まれている可能性がありますが、JQueryを使用して書式を設定して解析する方法がわかりません。私は隠しフィールドの使用について考えていましたが、これが適切な方法であるかどうかはわかりません。

おかげで、

答えて

1

私はおそらくリンク(アンカー)要素自体の中に値を格納するためにjQuery .data()を使用すると思います。あなたのページの始めに、関連するデータを.data()で各リンクに割り当てます。次に、すべてのリンクに1つの「提案」.click()ハンドラを割り当てることができます。

はJavaScript:

$(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

問題なし、私はまだIEでテストしなければなりません。開発用にLinuxを使用すると、苦労します。私はあなたに同意します。これは、グローバルなJSオブジェクトを持つよりも涼しい方法です。とにかく私はあなたの答えを受け入れたとマークしています、ありがとうございます。 – maraujop

関連する問題