2012-07-16 33 views
2

我有一個簡單的函數,我試圖按組追加結果。我已經能夠顯示單個表單的結果,但不確定要繼續的位置。這是Jsfiddle的功能。 http://jsfiddle.net/XBSVn/按組添加結果

+0

你所說的「羣體」是什麼意思?你的意思是一次追加多個元素嗎? – Lix 2012-07-16 21:00:12

+0

我需要將這個函數分別應用於每個類。現在它從第一類元素中獲得結果並將結果附加到每個後面的類中。如果你看看我的鏈接,你會看到我想要做什麼 – 2012-07-16 21:03:36

+0

你到底想做什麼?如果文本框中只有一顆星星,您只想顯示與其對應的一顆星星? – Kishore 2012-07-16 21:11:04

回答

3

嘗試。注意,你的類名之間的差別,你的選擇只有選擇第一輸入元件:

$(function() { 
    $('.ratingroups input').each(function(i, v) { 
     var star = '&#9733'; 
     var val = parseInt(this.value, 10) 
     for (var i = 0; i < val; i++) { 
      $(this).parent().siblings('div').append($('<div>').html(star).text())   
     } 
    }); 
}); 

DEMO

+0

這是錯誤的....檢查你的結果在Firebug中。 – 2012-07-16 21:18:39

+0

@ RokoC.Buljan是什麼讓它錯了? – undefined 2012-07-16 21:20:07

+0

錯誤地認爲'

'爲空。 (對不起,在第一條評論中不提)。 – 2012-07-16 21:23:58

1

這裏的問題是類名選擇器(您使用.ratinggroups和.ratingroups)以及文本框選擇器(您總是得到第一個文本框來檢查值)中的拼寫錯誤。

入住此更新的jsfiddle:http://jsfiddle.net/XBSVn/12/

你的HTML改爲:

<form class="ratingroups"> 
    <p><input class="asstars" value="5"/> </p> 
    <div class="rstars"></div> 
</form> 
<form class="ratingroups"> 
    <p><input class="asstars" value="4"/> </p> 
    <div class="rstars"></div> 
</form> 
<form class="ratingroups"> 
    <p><input class="asstars" value="3"/> </p> 
    <div class="rstars"></div> 
</form> 
<form class="ratingroups"> 
    <p><input class="asstars" value="2"/> </p> 
    <div class="rstars"></div> 
</form> 
<form class="ratingroups"> 
    <p><input class="asstars" value="1"/> </p> 
    <div class="rstars"></div> 
</form> 

和您的Javascript功能來:

$(function() { 
    console.log($('.ratingroups input').length); 
    $('.ratingroups input').each(function() { 
     var asstars = $(this); 
     var stars = asstars.closest('.ratingroups').find('.rstars'); 
     var display = true; 
     if (asstars.val() == '5') { 
      stars.append('<span>&#9733;&#9733;&#9733;&#9733;&#9733;</span>'); 
      display = false; 
     } 
     else if (asstars.val() == '4') { 
      stars.append('<span>&#9733;&#9733;&#9733;&#9733;</span>'); 
      display = false; 
     } 
     else if (asstars.val() == '3') { 
      stars.append('<span>&#9733;&#9733;&#9733;</span>'); 
      display = false; 
     } 
     else if (asstars.val() == '2') { 
      stars.append('<span>&#9733;&#9733;</span>'); 
      display = false; 
     } 
     else if (asstars.val() == '1') { 
      stars.append('<span>&#9733;</span>'); 
      display = false; 
     } 
     if (display) { 
      stars.css('display', 'none'); 
     } 
     else { 
      stars.css('display', 'block'); 
     } 
    }); 
}); 
+1

我覺得像「教一個人釣魚」的諺語適合在這裏;) – Lix 2012-07-16 21:18:08

+0

謝謝!我對此很陌生。我喜歡嘗試我自己的東西,但仍然是初學者... – 2012-07-16 21:28:53

+1

@Lix哈哈哈:)這就是*「當天的笑話」*! +1我只是對不接受Raminson的回答而感到抱歉... – 2012-07-16 21:32:09