Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新Datatable中的特定按钮HTML_Javascript_Html_Ajax_Datatables - Fatal编程技术网

Javascript 更新Datatable中的特定按钮HTML

Javascript 更新Datatable中的特定按钮HTML,javascript,html,ajax,datatables,Javascript,Html,Ajax,Datatables,我用它来显示大约20条记录,其中一列包含一组按钮。其中一个按钮是一个简单的切换按钮,单击该按钮时,会将AJAX请求发送回服务器,然后根据响应更新该按钮(使用字体超棒图标的星号与非星号)。按钮和AJAX请求似乎工作得很好,但在AJAX调用之后,我似乎无法让星星填充或清空。这是我的JS: $(function () { $('.btn-is_starred').click(function(e) { e.preventDefault(); $.post( $(

我用它来显示大约20条记录,其中一列包含一组按钮。其中一个按钮是一个简单的切换按钮,单击该按钮时,会将AJAX请求发送回服务器,然后根据响应更新该按钮(使用字体超棒图标的星号与非星号)。按钮和AJAX请求似乎工作得很好,但在AJAX调用之后,我似乎无法让星星填充或清空。这是我的JS:

$(function () {
    $('.btn-is_starred').click(function(e) {
        e.preventDefault();
        $.post( $(this).attr('href'), function( data ) {
            if (data.is_starred == true) {
                $(this).html('<i class="fa fa-star"></i>');
            }
            else {
                $(this).html('<i class="fa fa-star-o"></i>');
            }
        });
    });
});
$(函数(){
$('.btn-is_-starred')。单击(函数(e){
e、 预防默认值();
$.post($(this.attr('href'),函数(数据){
if(data.is_starred==true){
$(this.html(“”);
}
否则{
$(this.html(“”);
}
});
});
});

有什么建议吗?

您需要使用委托事件处理程序,因为重新绘制表时会重新创建链接

以下是需要更新以匹配结构的示例代码:

$('#example tbody').on('click', '.btn-is_starred', function(e){
   // your code
});
请参见下面的示例。为了简化示例,我将
$替换为设置数据属性
的post

$(文档).ready(函数(){
$('#示例')。数据表({
“columnDefs”:[{
“目标”:5,
“数据”:空,
“defaultContent”:”
}]
});
$(“#示例tbody”)。在('click','btn-is#u starred',函数(e){
e、 预防默认值();
if(!$(this).data('is_starred')){
$(this.html(“”);
}否则{
$(this.html(“”);
}
$(this.data('is_starred',!$(this.data('is_starred'));
});
});

名称
位置
办公室
年龄
开始日期
薪水
名称
位置
办公室
年龄
开始日期
薪水
老虎尼克松
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560
奎因·弗林
支撑导线
爱丁堡
22
2013/03/03
$342,000
查尔德·马歇尔
区域主任
旧金山
36
2008/10/16
$470,600
海莉·肯尼迪
高级市场设计师
伦敦
43
2012/12/18
$313,500
塔蒂亚娜·菲茨帕特里克
区域主任
伦敦
19
2010/03/17
$385,750
迈克尔·席尔瓦
营销设计师
伦敦
66
2012/11/27
$198,500
柏德
首席财务官(CFO)
纽约
64
2010/06/09
$725,000
格洛丽亚·利特尔
系统管理员
纽约
59
2009/04/10
$237,500
布拉德利·格里尔
软件工程师
伦敦
41
2012/10/13
$132,000
戴里奥斯
人事领导
爱丁堡
35
2012/09/26
$217,500
杰内特·考德威尔
开发领导
纽约
30
2011/09/03
$345,000
尤里浆果
首席营销官(CMO)
纽约
40
2009/06/25
$675,000
凯撒万斯
售前支持
纽约
21
2011/12/12
$106,450
多丽丝·怀尔德
营业员
西德尼
23
2010/09/20
$85,600
当归
首席执行官(CEO)
伦敦
47
2009/10/09
$1,200,000
加文·乔伊斯
开发商
爱丁堡
42
2010/12/22
$92,575
张珍妮弗
区域主任
新加坡
28
2010/11/14
$357,650
布伦登·瓦格纳
软件工程师
旧金山
28
2011/06/07
$206,850
菲奥娜绿色
首席运营官(COO)
旧金山
48
2010/03/11
$850,000
寿伊图
区域营销
东京
20
2011/08/14
$163,000
米歇尔之家酒店
集成专家
西德尼
37
2011/06/02
$95,400
苏基伯克斯
开发商
伦敦
53
2009/10/22
$114,500
普雷斯科特·巴特利特
技术作者
伦敦
27
2011/05/07
$145,000
加文·科尔特斯
队长
旧金山
22
2008/10/26
$235,500
马蒂娜·麦克雷
售后支持
爱丁堡
46
2011/03/09
$324,050
统一管家
营销设计师
旧金山
47
2009/12/09
$85,675
霍华德·哈特菲尔德
办公室经理
旧金山
51
2008/12/16
$164,500
希望富恩特斯
秘书
旧金山