gpt4 book ai didi

javascript - 奇怪的 JavaScript 类型转换

转载 作者:行者123 更新时间:2023-11-29 18:28:52 26 4
gpt4 key购买 nike

我正在显示最初显示为选项卡的特定实体的反馈和评级。当用户单击选项卡时,我会使用

获得反馈和评分
$.get()

$.get()的返回是这样的

some arbit html|||8

我正在使用 ||| 拆分此数据并获得在本例中为 8 的评分。

        $.get('prevfeed.php',{text:text},function(data){
data = data.split("|||");

$('#prevFeedback').html(data[0]);
$('body').data( 'rating', parseInt(data[1]));
alert(parseInt(data[1])+1);
});

问题就在这里。我正在使用这个 plugin显示星级。下面是初始化代码

        $('#star').raty({
readOnly: true,
number : 10,
start: $('body').data( 'rating')
});

无论我做什么评级都不起作用。如果我输入一个数字而不是 $('body').data( 'rating'),它工作正常。

最初我尝试使用 $('body').data( 'rating') 设置隐藏输入字段的值,然后从输入字段的 val 开始分配。但没用。

提前致谢

P.S:看到我编辑代码的答案

        $('#star').raty({
readOnly: true,
number: 10,
start: function() { alert($('body').data('rating'););return $('body').data('rating'); }

当我包含警报时,它可以正常工作。所以就像我只需要展示这段代码一样。这个怎么做。 });

最佳答案

这是因为您在 body 上设置 rating 属性的代码被延迟,直到 AJAX 调用完成。

但是,您将在页面加载时启动 raty 插件;其中 rating 数据属性仍然是 undefined

您必须延迟插件的初始化,直到 AJAX 调用完成:

$.get('prevfeed.php', {
text: text
}, function(data) {
data = data.split("|||");

$('#prevFeedback').html(data[0]);
$('body').data('rating', parseInt(data[1]));

$('#star').raty({
readOnly: true,
number: 10,
start: $('body').data('rating')
});
});​

关于javascript - 奇怪的 JavaScript 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10313719/

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