php – 使用jquery和ajax更新选项列表
发布时间:2020-12-13 16:34:45 所属栏目:PHP教程 来源:网络整理
导读:我试图根据在先前的html选择对象上做出的选择,使html选项列表更新.我的 jquery在下面.这被正确的称呼. var brandName = $("#Brand").val();$.get("updateTypes.php?q="+brandName,function(data) { $("#Type").remove(); var typeData = JSON.parse(data); f
我试图根据在先前的html选择对象上做出的选择,使html选项列表更新.我的
jquery在下面.这被正确的称呼.
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; 这在下面的单例中调用getBrandTypes函数: $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数据时,似乎出错了.为什么会出错?用于更新选择对象的循环是否适合?
你可以使用$.getJSON,如果你期待一个json响应.您也可以使用$.each(),然后使用.append()到select标签.你可以在.each()中引用this.property.
如下所示: $.getJSON("updateTypes.php?q="+brandName,function(data) { $("#Type").remove(); $.each(data,function(){ $("#Type").append('<option value="'+ this.value +'">'+ this.name +'</option>') ) }) 这将假设您的json响应类似于以下内容: [{name:“foo”,value:“bar”},{name:“another”,value:“example”}] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |