0

我有两个下拉列表,一个用于部门,另一个用于产品。根据部门,我想在 Products.ie 中加载数据,而不是加载下拉列表中的每个产品,我想加载与所选部门相关的产品。

<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

您可以添加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 回答