0

3 つのドロップダウン選択ボックスがあります。それぞれに、異なる人口統計属性のセットが含まれています。ユーザーが行った選択の組み合わせに対応するスコアを表示したいと思います。たとえば、ユーザーが男性、18 ~ 24 歳、アジア系アメリカ人を選択した場合、現在の div を非表示にして、その組み合わせに対応する div を表示したいと考えています。

1 つの選択ボックスでこれを行う方法についての回答を見てきましたが、3 つあり、組み合わせがはるかに多いため、これを効率的に行う簡単な方法があるかどうかを確認したかったのです。必要に応じて特定のコードを提供できますが、これを行う方法の一般的な例でも問題ありません-ありがとう!

4

1 に答える 1

2

考えられるすべての組み合わせに対して非表示の div を保持することはお勧めできません。これにより、ページサイズが大きくなります。必要な情報だけをajaxで取り出して表示してみませんか?

ページでは、情報を表示する div を 1 つだけ保持します

<select id="Age">
     <option value='1'>18-24</option>
     <option value='2'>25-50</option>
</select>
<select id="Place">
     <option value='1'>Asia</option>
     <option value='2'>America</option>
</select>
<div id="info"></div>

次に、ドロップダウンの変更イベントをリッスンし、ドロップダウンの選択された値を取得し、サーバー ページへの ajax 呼び出しを行い、ユーザーに表示するマークアップを取得します。以下のスクリプトでは、jqueryloadメソッドを使用して情報 div に新しいマークアップをロードしています。

$(function(){

   $("#Age,#Place").change(function(e){
      var age=$("#Age").val();
      var place=$("#Place").val();
      $("#info").load("yourServerPage.php?age="+age+"&place="+place);

   });

});

yourServerPage.phpクエリ文字列から年齢と場所を受け取り、情報 div のマークアップを返すサーバー ページが呼び出されたとします。

于 2013-06-07T15:42:39.620 に答える