You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ajax请求成功后更改绘画相关按钮的实现问题求助

我帮你把这段Smarty模板代码和你的需求整理成清晰的Markdown格式,同时补充下Ajax请求成功后修改按钮的参考逻辑:

核心需求
  • 在Ajax请求成功时,修改一个绘画相关按钮的状态/样式
Smarty模板代码片段

你提供的循环赋值部分可以这样格式化(我帮你补全了按钮的示例代码,方便后续Ajax定位):

{foreach from=$statistics.sponsored1 item=sponsored name=myLoop}
    {assign var="indiceDirect" value="direct_customer`$sponsored.id_customer`"}
    {assign var="indiceIndirect" value="indirect_customer`$sponsored.id_customer`"}
    
    {* 处理直接客户数据,不存在则设为0 *}
    {if isset($statistics[$indiceDirect])}
        {assign var="valueDirect" value=$statistics[$indiceDirect]}
    {else}
        {assign var="valueDirect" value=0}
    {/if}
    
    {* 处理间接客户数据,不存在则设为0 *}
    {if isset($statistics[$indiceIndirect])}
        {assign var="valueIndirect" value=$statistics[$indiceIndirect]}
    {else}
        {assign var="valueIndirect" value=0}
    {/if}

    {* 绘画操作按钮:添加data属性方便Ajax回调精准定位 *}
    <button class="painting-btn" data-customer-id="{$sponsored.id_customer}">
        启动绘画
    </button>
{/foreach}
Ajax请求成功修改按钮的参考代码(jQuery版)

如果用jQuery实现Ajax,可以在成功回调里直接定位目标按钮并修改它的状态:

// 给所有绘画按钮绑定点击事件(可根据你的实际触发逻辑调整)
$('.painting-btn').on('click', function() {
    const $currentBtn = $(this);
    const customerId = $currentBtn.data('customer-id');

    $.ajax({
        url: '/your-request-url', // 替换成你的实际接口地址
        method: 'POST',
        data: { 
            customer_id: customerId,
            // 其他需要传递的参数
        },
        success: function(response) {
            // 请求成功后修改按钮:比如更改文本、样式、禁用状态
            $currentBtn.text('绘画完成')
                      .removeClass('btn-primary')
                      .addClass('btn-success')
                      .prop('disabled', true);
        },
        error: function() {
            alert('请求出错啦,请稍后重试~');
        }
    });
});

内容的提问来源于stack exchange,提问作者user8772487

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:14:15