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
相关产品推荐
相关产品推荐

