我试图找到解决这个问题的方法,但由于这是我第一次使用 javascript,所以我遇到了一个大问题。
所以这就是我需要的。
我有 2 个下拉列表。
根据在第一个列表中选择的值,第二个应该显示从 sql 中提取的不同值,并且在不刷新页面的情况下执行此操作。
提取这些值的代码是一个名为 getpackage.php 的文件,该文件基于从第一个下拉列表中检索到的值进行查询并输出第二个列表的值。
我已经设法通过使用 .load() 函数来做到这一点,但它只适用于 firefox、IE 和 chrom 什么都没有发生。
这是代码:
注册.php
<select name="product">
<?php
$sql = "SELECT * FROM proxy_products";
$result = mysql_query($sql) or die('Error, query failed');
echo "<option value=''></option>";
while(list($product_id,$product_name) = mysql_fetch_array($result))
{
echo '<option value='".$product_id."' onclick='recp(".$product_id.")' selected >".$product_name."</option>';
}
?>
</select>
//here should the second list load
<select id="showpacakge" name="package">
</select>
爪哇:
<script>
function recp(id) {
$('#showpacakge').load('getpackage.php?id='+id);
}
</script>
和getpackage.php
$id = $_GET['id'];
$sql = "SELECT package_id, package_name FROM proxy_package WHERE product_id='".$id."'";
$result = mysql_query($sql) or die('Error, query failed');
echo "<option value=''></option>";
while(list($package_id,$package_name) = mysql_fetch_array($result))
{
echo "<option value='".$package_id."' >".$package_name."</option>";
}
正如我所说,这可能并不难,但对我来说这是因为这是我第一次尝试使用 java。
如前所述,它适用于 Firefox,但不适用于 IE 和 Chrome
更新:
我自己得到了解决方案..不确定到底有什么区别,但它对我有用
<script>
$("#selectprod").change(function (e)
{
var $targ = $(e.target);
var selected_value = $targ.find('option:selected').val();
$("#123").load('getpackage.php?id='+ selected_value);
}
)
.change();
</script>