0

2つのドロップダウンがあります。1つは部門用、もう1つは製品用です。部門によると、データをProductsにロードします。つまり、ドロップダウン内のすべての製品をロードするのではなく、選択した部門に関連する製品をロードします。

<select name="Division" id="division">
<option value='1'>Div1</option>
<option value='2'>Div3</option>
<option value='3'>Div3</option>
<option value='4'>Div4</option>
</select>
<select name="Products" id="product">
<option value='<?php echo $pid ?>' rel='1'>Prod1</option>
<option value='<?php echo $pid ?>' rel='1'>Prod2</option>
<option value='<?php echo $pid ?>' rel='2'>Prod3</option>
<option value='<?php echo $pid ?>' rel='3'>Prod4</option>
<option value='<?php echo $pid ?>' rel='3'>Prod5</option>
<option value='<?php echo $pid ?>' rel='3'>Prod6</option>
</select>

PHPとjqueryを使用する方法はありますか。ヘルプ/提案をありがとうございます。

4

2 に答える 2

1

データをバックエンドにポストバックし、2番目のドロップダウンの値を取得するonChangeイベントを追加できます。

何かのようなもの

$('#division').change(function(){
    $.post("myPhpScript.php",{"divisionId":$('#division').val()}, function(data){
         $.each(data, function(i, opt){
              var elem = $('<option/>', { value : opt["value"], html: opt["label"] });
              $('#product').append(elem);
         });
    }
});

そして、PHPでは、ドロップダウンの値を含むJSONObjectを取得します

{"divisionId":$('#division').val()}

それに従ってデータを取得し、新しい値を含むJSONObjectsのJSONArrayを返します。

[ { "value":"prod1", "label":"Product 1" }, { "value":"prod2", "label":"Product 2" } ]

これがお役に立てば幸いです。

于 2013-03-27T10:08:19.813 に答える
0

onchangeイベントを最初の選択フィールドに追加します。このフィールドには、新しい選択フィールドのデータを取得するためのAjaxリクエストが含まれています。

別の方法は、アクティブでない選択フィールドを非表示にして、onchangeがトリガーされたときにそれらを表示することです。これはより静的です。

于 2013-03-27T10:13:10.950 に答える