【问题标题】:Sending Input Value to JQuery Function将输入值发送到 JQuery 函数
【发布时间】: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 或将数据发送到服务器的代码在哪里??

标签: jquery ajax input


【解决方案1】:

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

$('#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());      
});

希望我能明白你的意思

【讨论】:

  • 如何在仍然使用当前 on("click") 功能的同时实现这一点。我编辑了上面的 HTML 代码以包含使用的按钮等。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    相关资源
    最近更新 更多