我试图根据在先前的html选择对象上做出的选择,使html选项列表更新.我的
jquery在下面.这被正确的称呼.
@H_301_14@var brandName = $("#Brand").val(); $.get("updateTypes.PHP?q="+brandName,function(data) { $("#Type").remove(); var typeData = JSON.parse(data); for (loop=0; loop < typeData.length; ++loop) { $("#Type").options.add(new Option(typeData[loop])); } });
由于我正在使用一个单例来与MysqL数据库进行接口,所以这个jquery函数调用一个名为updateTypes.PHP的’go-between’.PHP文件,它们如下所示:
include 'databaseInterface.PHP'; $brand = $_GET["q"]; $typesData = databaseInterface::getBrandTypes($brand); return $typesData;
$query = "SELECT psTypeName FROM types WHERE brands_psBrandName='$BrandName'"; $result = MysqLi_query($con,$query) or die ("Couldn't execute query. ".MysqLi_error($con)); $resultArray = array(); while ($row = MysqLi_fetch_assoc($result)) { extract($row); $resultArray[] = $psTypeName; } return json_encode($resultArray);
该网页正确地从jquery函数中删除现有的选项,但无法更新它们.当我解码jquery中的JSON数据时,似乎出错了.为什么会出错?用于更新选择对象的循环是否适合?