2013-06-03 58 views
2

目前我購買的主題是使用星級評分系統設置的。從我已經能夠拿出,一個jQuery函數計算基於恆星的ID被點擊,通過下面這段代碼所控制的評價:將輸入值發送給JQuery函數

<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> 

數據星級的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');  
}); 

我想要做的是用一個簡單的文本輸入字段替換點擊星星。我將如何去發送一個文本值到這個函數來替換當前發送的數據star-id?

+0

'取代的恆星用簡單的文本輸入點擊field'所以輸入值應該是當我們點擊輸入字段時發送? geting confused – bipen

+0

對不起,感到困惑。而不是讓用戶選擇1-5星的評分,我希望他們在文本框中輸入1,2,3,4或5,並將其作爲計算新評分的值。 – flash1821

+0

然後我想你需要用單個輸入替換'div' ...不需要循環($ j)...和'keyup()'事件,而不是點擊該輸入並用$獲取值(「#inputid」)。val()'...以及post,ajax或將數據發送到服務器的代碼在哪裏? – bipen

回答

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

我希望我能明白你的意思

+0

如何在仍然使用當前(「點擊」)功能的情況下實現此目的。我編輯了上面的HTML代碼以包含使用的按鈕等 – flash1821

0

如果我理解你的問題吧,你可以把輸入與.VAL()