Javascript 从事件动态设置属性值

Javascript 从事件动态设置属性值,javascript,jquery,Javascript,Jquery,我需要设置一个属性的值来显示“x”个星星的数量,但需要运行一个事件到我的数据库来获得平均值并使用该数字 下面是要动态修改的带有“data rateit value”属性id的HTML <div id="randomtest" data-productid="randomtest" class="rateit" data-rateit-value=""></div> 但一旦我能够,我将能够动态设置它,就像我做了下面的基本演示一样? 如果没有进一步的指导,我们将不胜感激 $

我需要设置一个属性的值来显示“x”个星星的数量,但需要运行一个事件到我的数据库来获得平均值并使用该数字

下面是要动态修改的带有“data rateit value”属性id的HTML

<div id="randomtest" data-productid="randomtest" class="rateit" data-rateit-value=""></div>
但一旦我能够,我将能够动态设置它,就像我做了下面的基本演示一样? 如果没有进一步的指导,我们将不胜感激

$.ajax({
    url: 'currentvalue.php',
    data: { id: productID, value: value },
    type: 'POST',

    success: setCurrentValue
});

function setCurrentValue(data) {
    $('#randomtest').attr( 'data-rateit-value'.append(data));
}
谢谢你的帮助

编辑 我将查询和结果更改为此,它使用整数发出警报,但仍然没有附加到属性

$.ajax({
    url: 'currentstars.php', //your server side script
    data: { id: productID, value: value }, //our data
    type: 'POST',

    success: function(results) { 
    alert(results);
    $('.rateit').attr( 'data-rateit-value'.append(results))
    }
});

我不知道这是否有助于任何人试图找出它不起作用的原因?

首先,我要说的是,您应该检查是否从服务器返回了您所期望的内容:

function setCurrentValue(data) {
    console.log(data);
    ...
}
数据的结构是什么

我不确定您希望setCurrentValue函数发生什么,您在
$('#randomtest').attr('data rateit value'.append(data))行中有一些语法错误
attr
可以像
attr(属性,值)
那样调用,因此可能
$('随机化测试').attr('data rateit value',data)
更接近您想要使用的内容

。 试试这个-

$.ajax({
    url: 'currentvalue.php',
    data: { id: productID, value: value },
    type: 'POST',
    success: function(){setCurrentValue(data);}
 });

function setCurrentValue(data) {
    $('#randomtest').attr( 'data-rateit-value',data);
    //Or $('#randomtest').data( 'rateit-value',data);
}
我让它工作了

$.ajax({
    url: 'currentstars.php',
    data: { id: productID, value: value },
    type: 'POST',

    success: function(results) { 
    $('.rateit').rateit('value', (results));
    }
});
有了这个查询和功能,我可以在页面加载和选择评分时更新到平均评分


这真是一场噩梦,哈哈:)

上面的东西有什么不起作用?一旦给“data rateit value”属性一个值,该值以高亮显示的星号表示,但它不会改变高亮显示的星号数量,这对我来说很好?”.attr(‘data rateit value’.append(data));“看起来不错?我从服务器上得到了我所期望的东西我已经有了一个不同的函数,它在我用来测试它的div中给出了结果?哪个a是四舍五入到.5的整数?我对此已经有一段时间了,我不知道为什么它不能像预期的那样工作?你是否尝试过setCurrentValue()中的console.log(数据)或alert(数据)?我可以提醒它,我刚刚检查过它,我正在研究的js插件似乎有问题
$.ajax({
    url: 'currentstars.php',
    data: { id: productID, value: value },
    type: 'POST',

    success: function(results) { 
    $('.rateit').rateit('value', (results));
    }
});