0

数週間前に Web サイトにアクセスしたところ、動的なドロップダウン メニューに出会いました。現在複製しようとしている機能に出会いましたが、その方法はわかりません。ドロップダウンで目的の車の数を選択すると、選択した車の数に応じて入力フィールドが繰り返されます。これは JavaScript を介して行われたもので、ループが含まれていたと思います。この動作や物の表示方法を表す用語はありますか? 同様のことを達成する方法の例も役立ちますか?

ここに画像の説明を入力

4

3 に答える 3

2

ページの更新が必要になるため、これを PHP で行うことはほとんどありません。Select 要素 (ドロップダウン メニュー) の onChange イベントをリッスンする Javascript を使用して実行される可能性が高くなります。イベントが検出されると、Javascript は div 要素 (車ごとに 1 つ) を表示/非表示にしたり、それらを動的に作成/破棄したりできます。

于 2013-11-10T09:11:01.057 に答える
2

これは java script を使用して行われます。ここにヒントがあります

divを作成し、その中に必要な入力を入れます

<div id='controls'>
<input type="text" name="car_name" />
</div>

jQuery変更イベントを使用すると、コントロールdivのビューを反復できます

つまり、新しいコントロールを配置する ID が container の div がある場合

$('select').change(function(){
 var number = parseInt ($(this).val ());
 //And do for loop here
 for (var i=1;i<=number;i++){
     $('#controls').clone().appendTo($('#container');
  }
});

要件に合わせてこのコードを拡張してください。

于 2013-11-10T09:14:23.973 に答える
0

更新せずに必要な場合は、javascript を使用する必要があります。ここでは、jquery を使用して 1 つの例を作成しました: HTML コード

<label>How many cars?</label>
<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<div id="fields"></div>

JavaScript コード

$('select').change(function() {
    var option = $(this).val();
    showFields(option);
    return false;
});
function showFields(option){
    var content = '';
    for (var i = 1; i <= option; i++){
        content += '<div id="field_'+i+'"><label>Car '+i+'</label><br /><label>Model:</label> <input id="model_'+i+'" /><br /><label>Maker:</label> <input id="maker_'+i+'" /><br /><label>Year:</label> <input id="year_'+i+'" /><br /><div><br />';
    }
    $('#fields').html(content);
}

ここに例があります: http://jsfiddle.net/zbzjm/1/

于 2013-11-10T09:50:54.630 に答える