gpt4 book ai didi

javascript - 在 HTML 中显示 $.post 的结果

转载 作者:行者123 更新时间:2023-11-27 22:55:19 24 4
gpt4 key购买 nike

我有以下 HTML 结构,它是一个模式弹出窗口,如下所示:

<!-- Left side of the pop up-->

<div class="pop-state">
<!-- state -->
<?php foreach ($users as $user) { ?>
<div class="pop-first-btn">
<a class="check-user" value="<?=$user['id']?>"><?=$user['username']?></a>
</div>
<?php } ?>
</div>

<!-- Right side of the modal popup-->
<div class="pop-brands" >

<?php for ($i = 0; $i < count($brandList); $i++) { ?>
<div class="pop-city-co" id="brands">
<label>
<input class="check-city" type="checkbox" name="" value="<?=$brandList[$i]['id']?>" data-id="<?=$i ?>"><?=$brandList[$i]['name']?>
</label>
</div>
<?php } ?>
</div>

当用户单击链接时,我会执行以下 jQuery 事件:

$('.check-user').click(function() {
var user_id = $(this).attr('value');
$.post("/user/usersBrands", {userId:user_id}, function(data){
//console.log(data);
var brands = $('<div />').append(data).find('#brands').html();
$('#brands').html(brands);
console.log(brands);
});
});

我拿起 userId,将其发送到我的函数,然后我想用用户列表更新弹出窗口的右侧,以复选框列表的形式...这是我的函数我打电话:

 public function usersBrandsAction(){
$userId = $this->getRequest()->getPost("userId");
if(!empty($userId))
{
$brandList = $this->getBrandModel()->brandList();
$this->dieCustomCode($brandList); // it can be echo instead of this or anything that would return me the array of brands...

}
}

因此,当我单击链接时,没有显示任何内容...控制台说 #brands 由于某种原因未定义...有人可以帮我解决这个问题吗? :/

最佳答案

1) 我建议使用append()而不是html()直到你确实需要将之前的所有数据替换为 .html()方法。

所以,而不是

$('#brands').html(brands);

使用

$('#brands').append(brands);

另外,代替:

var brands = $('<div />').append(data).find('#brands').html();

写:

var brands = $('<div />').append(data);

因为,一旦将数据附加到 DIV 元素,在您的情况下就不再需要遍历 DOM。

2) 确保 DOM 中没有重复的 id 为“brands”的元素。

3) 检查您的 "#brands" 是否或".pop-city-co"不会被 CSS 隐藏。

4) 我还建议使用 json_encode在 PHP 端,然后在客户端解析它。

关于javascript - 在 HTML 中显示 $.post 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37674195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com