我已经用Google搜索了这个选项很多天但我找不到解决方案。
我想要的是:
我想要的是当我从第一个选择框中选择任何国家(即英国)时,应运行php查询以从表中获取所有城市名称,然后使用Jquery将它们添加到第二个选择框。
由于
答案 0 :(得分:5)
你有一个脚本(“/getCities.php”),它带有一个参数(“country”),它是你想要城市的国家的ID,并输出如下所示的JSON:
{"Cities":
[
{
"ID": 1,
"Name": "New York"
},
{
"ID": 2,
"Name": "Los Angeles"
}
]}
(您可以使用JSONLint来验证您的JSON。)
然后可能是这样的:
<select id="Countries">
<!-- omitted -->
</select>
<select id="Cities"></select>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// when a new country is selected...
$("#Countries").change(function() {
// ...clear existing cities...
$("#Cities").empty();
// ...and repopulate cities based on JSON data.
$.getJSON( "/getCities.php",
// pass the selected country ID
{
country: $("#Countries").val()
},
function(data) {
$.each(data.Cities, function(n, city) {
// add a new option with the JSON-specified value and text
$("<option />").attr("value", city.ID).text(city.Name).appendTo("#Cities");
});
}
);
}); // $("#Countries").change(function() { ... });
}); // $(document).ready(function() { ... });
</script>
答案 1 :(得分:0)
试试这个。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
function moveItem() {
$("#target").append($("#source").find(':selected'));
}
</script>
<select id="source" size="3">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
<button onclick="moveItem()">Move Item</button>
<select id="target" size="3"></select>
答案 2 :(得分:0)
“级联下拉列表”是一个常见的界面 - 我发现很难相信你找不到任何例子。 Here's a PHP example会指出你正确的方向。