0

私はある種の店舗検索に取り組んでいます。注文ページに統合されています。顧客がzipを入力すると、その周りの店舗が10行のテーブルに表示されます。各行の最後にラジオボタンを設定して、ユーザーが製品の発送先を選択できるようにしました。各行には、店舗名、住所、電話番号があり、データの各チャンクはクラスごとに分割されています。つまり、「。street-address、.city、.state」です。問題は、テーブルの行ごとにこれらのクラスのセットがあることです。私はjqueryコードと格闘して、テーブル行のラジオがチェックされているときに、その行の.street-addressからのテキストを入力フィールドの値として入力するように指定する方法を見つけようとしています。注文フォームの「番地」。どんな助けでもいただければ幸いです。私'

 $('.fflradio').click (function() {$(this).parents('tr').get(".views-field-title").text($("company-name:input").val());});

明らかに機能していないため、これが正しくないことはわかっていますが、入力をいただければ幸いです。ありがとう!

4

2 に答える 2

1

HTMLが表示されないので、セレクターがどのように表示されるかを正確に言うことはできませんが、これは近いかもしれません(そして、それはあなたが持っているものからそれほど遠くありません):

$('.fflradio').click(function() {
  $('#id-of-the-address-field').val(
    $(this)
      .closest('tr')
      .find('.street-address')
      .text()
  );
});

ここで、会社のアドレスフィールドにHTMLマークアップがある場合、問題が発生する可能性があることに注意してください。もちろん、会社名や電話番号などを入力する必要がある場合は、同様の電話をかけます。

于 2010-07-10T19:01:11.407 に答える
1

あなたはあなたのアプローチを再考したいかもしれません。基本的に、自分のWebページをスクリーンスクレイピングして、明らかにすでに持っている情報を取得します。ラジオボタンクリックハンドラーからアクセスできるある種のオブジェクトに店舗の住所データを保存することをお勧めします。そうすれば、実装は特定のUIレイアウトに依存しなくなります。

この手っ取り早い例は、アイデアを広めるはずですが、おそらくそれを行うためのより良い方法があり、私は本番環境でこのアプローチを使用しません。

// In the code that builds a row in the table, store the address data in an object in the radio button's data dictionary (variables should be self-explanatory):
theRadioButton.data('storeAddress', 
  {
    'street': theStreet,
    'city': theCity,
    'state': theState,
    'postalCode': thePostalCode
  });

// In your event handler, refer to the address object:
$('.fflradio').click(function() {
  var address = $(this).data('storeAddress');
  $('#streetAddressFieldID').val(address.street);
  $('#citysFieldID').val(address.city);
  $('#stateFieldID').val(address.state);
  $('#postalCodeFieldID').val(address.postalCode);
});
于 2010-07-10T19:06:12.103 に答える