【发布时间】:2013-06-03 05:23:09
【问题描述】:
目前我购买的主题设置了星级评分系统。据我所知,一个 JQuery 函数根据被点击的星星的 ID 来计算评分,由下面的代码控制:
<div class="rating-send-form">
<div class="rating-ipnuts">
<div class="rating-details">
<button class="send-rating"><?php _e('Post Wait Time','ait'); ?></button>
<div class="rating clearfix" data-rating-id="<?php echo $i; ?>" data-rated-value="0">
<div class="stars clearfix">
<?php for($j = 1; $j <= $starsCount; $j++) { ?>
<div class="star" data-star-id="<?php echo $j; ?>"></div>
<?php } ?>
</div>
</div>
被点击的data-star-id被发送来计算评分,如下:
// rating
$(document).on("click", "#ait-rating-system .rating-send-form .star", function(event) {
var rating = $(this).parent().parent();
var ratingId = rating.data('rating-id');
var id = parseInt($(this).data('star-id'));
$(this).parent().find('> div').slice(0,id).css("background","url('"+themeUrl+"/design/img/rating_star_active.png') no-repeat 0 0");
rating.data('rated-value',id).addClass('already');
});
我想做的是用一个简单的文本输入字段代替点击星星。我将如何向该函数发送一个文本值来替换当前发送的 data-star-id?
【问题讨论】:
-
replace the clicking of stars with a simple text input field所以当我们点击输入字段时应该发送值输入??感到困惑 -
抱歉给您带来了困惑。我希望他们在文本框中实际输入 1、2、3、4 或 5,而不是让用户选择 1-5 星的评分,并将其作为发送来计算新评分的值。
-
那么我猜你需要用单个输入替换
div...不需要循环那里($j)...和keyup()事件而不是单击该输入并获取带有$("#inputid").val()...的值以及post、ajax 或将数据发送到服务器的代码在哪里??