【问题标题】:raty star rating plugin for storing data from multiple ratings评级星级插件,用于存储来自多个评级的数据
【发布时间】:2012-07-06 12:36:47
【问题描述】:

我正在使用来自该站点的评级星级 jQuery 插件:http://www.wbotelhos.com/raty/ by Washington Botelho。
我在我的单一表单中使用多个评级。不同的评分是这样的:

<div id='star1' class='star'></div>
<input name='score1' type='hidden' id='score-target' />

<div id='star2' class='star'></div>
<input name='score2' type='hidden' id='score-target' />

<div id='star3' class='star'></div>
<input name='score3' type='hidden' id='score-target' />

现在我对 jQuery 不太熟悉,但我尝试了很多来了解它的 js 文件。我写了这样的javascript代码:

<script type="text/javascript">
        $(function() {

            $('.star').raty({
            cancel      : true,
            targetKeep  : true,
            targetType  : 'number',
            targetText  : '0',
            target      : '#score-target'
            });

            $('#score').raty({
                score: function() {
                    return $(this).attr('data-rating');
                }
            });
    });
</script>  

问题是我的输入中只存储了最后一个评分的分数,前 2 个输入存储了空值。我不使用 Ajax,因为我不熟悉它。我正在使用 php 从表单中获取数据,然后将其存储在表中。任何人都可以帮助我使用 javascript 代码将不同的值存储在不同的隐藏输入字段中吗?

【问题讨论】:

  • 所有 3 个输入都有相同的 id,那是你的问题
  • @Nick 是的,我知道...但是插件的文档说您可以将评分分数存储在 ID 为 target: "#score-target" 的容器中,并且因为所有评分都属于同一类,我需要找到一种方法在不同的容器中存储不同的值

标签: php jquery forms


【解决方案1】:

检查您的代码并观察“on-stars”的 src 属性对我来说,on-stars 的 src 属性包含 star-on 。

        score: function() {
            return $('img[src*="star-on"]',$(this)).length;
        }

【讨论】:

    【解决方案2】:

    问题就在这里:

    target      : '#score-target'
    

    您正在使用选择器# 这意味着一个名为“score-target”的ID。 在 html 中,ID 是唯一的,这就是为什么每次第一次引用这个 id 时它都会返回。

    你应该这样写:

    <div id='star1' class='star' rel="score-target1"></div>
    <input name='score1' type='hidden' id='score-target1' />
    ...
    
    
    ...
    target      : $(this).attr('rel')
    ...
    

    【讨论】:

    • 感谢您的帮助。但是你真的看到了插件并亲自看到了它的代码吗?
    • 顺便说一句,它没有帮助解决问题:(
    猜你喜欢
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多