2

目前我购买的一个主题设置了星级评分系统。根据我所能想到的,一个 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?

4

2 回答 2

0

如果我正确理解您的问题,您可以使用 .val() 获取输入的值

于 2013-06-03T05:31:56.180 回答
0

您应该首先创建文本字段并将一个事件绑定到它让我们说模糊事件。在模糊时,您应该按如下方式更改评级:

$('#textfield1').on("blur",function(event) {
var rating = $('#ratingdiv');// you should give your div an id to be able to target it 
rating.data('rated-value',$(this).val());      
});

我希望我能明白你的意思

于 2013-06-03T05:45:33.127 回答