JSON を使用して、2 つのリストで構成される動的なドロップダウン リストを作成しています。さらに、動的ではない 3 番目のドロップダウン リストがあります。
ユーザーが [送信] ボタンをクリックすると、3 つのドロップダウン リストで選択した値に基づいて、動的に作成される URL がトリガーされます。
たとえば、ユーザーが "Norway"、"Oslo"、"All stars" を選択した場合、送信ボタンをクリックすると "norway_oslo_allstars.html" が開きます。
ドロップダウン リストの 2 つ (1 番目と 3 番目) には、OPTION タグに VALUE 属性があり、動的に作成された URL を生成するために使用できると思いますが、2 番目のドロップ ダウン リストは JSON ファイルから作成されるため、エントリVALUE 属性はありません。
ユーザーの選択に基づいて URL を動的に作成する方法はまだありますか?
たとえば、http://jazzkatt.net/dynamic/を参照してください。
これが私の動的ドロップダウンと JSON コードです。
<script>
$(document).ready(function(){
$("#json-one").change(function() {
var $dropdown = $(this);
$.getJSON("jsondata/data.json", function(data) {
var key = $dropdown.val();
var vals = [];
switch(key) {
case 'norway':
vals = data.norway.split(",");
break;
case 'usa':
vals = data.usa.split(",");
break;
case 'denmark':
vals = data.denmark.split(",");
}
var $jsontwo = $("#json-two");
$jsontwo.empty();
$.each(vals, function(index, value) {
$jsontwo.append("<option>" + value + "</option>");
});
});
});
$("#json-one").trigger('change');
});
</script>
そして、2 つの動的ドロップダウン リストと 3 つ目の (非動的) ドロップダウン リストを含む HTML を次に示します。
<form action="" method="get" id="form1">
<select id="json-one">
<option selected value="norway">Norway</option>
<option value="usa">USA</option>
<option value="denmark">Denmark</option>
</select>
<br />
<select id="json-two">
</select>
<br />
<select id="stars">
<option value="allstars">All stars</option>
<option value="onestar">One star</option>
<option value="twostars">Two stars</option>
<option value="threestars">Three stars</option>
</select>
</form>
<p>
<button type="submit" form="form1" value="Submit">Submit</button>
これが私が現在使用している JSON フォーマットです... URL の作成に使用できる、何らかの VALUE 属性を各エントリに追加することは可能ですか?
{
"norway": "Oslo,Bergen,Stavanger",
"usa": "New York,Chicago,Dallas",
"denmark": "Copenhagen,Aalborg,Odense"
}