加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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”}]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读