2011-05-04 77 views
1

不用多說,但我對jQuery非常新奇......如何使用jQuery獲取我的嵌套錨標記的文本?

我有複選框列表和用戶選擇了一些後我試圖建立一個jquery調用,將回收文本的選定的複選框。這是我有...

我的複選框的列表(這實際上是一個較長的列表)

<li><input type="checkbox" value="1099511627776" name="group[42][1099511627776]" id="mce-group[42]-42-0"><label for="mce-group[42]-42-0"><a class="screenshot" rel="images/pass1.png">Good Luck. Pass It On.</a></label></li> 
<li><input type="checkbox" value="2199023255552" name="group[42][2199023255552]" id="mce-group[42]-42-1"><label for="mce-group[42]-42-1"><a class="screenshot" rel="images/pass2.png">You’re One Of The 8 Special Women...</a></label></li> 
<li><input type="checkbox" value="4398046511104" name="group[42][4398046511104]" id="mce-group[42]-42-2"><label for="mce-group[42]-42-2"><a class="screenshot" rel="images/pass3.png" id="keep">Keep It Up</a></label></li> 

jQuery的腳本,我建,我不能完全弄清楚如下。基本上我想檢索錨標籤中的文本...祝你好運。通過它,你是一個8特殊的女性......,繼續努力吧

<script type="text/javascript"> 
     function displayVals() { 
      var selectData = $('input:checked').map(function() { 
               return "<p id='choice'>" + $('a.screenshot') + "</p>"; 
               }).get().join(''); 
      $("p.#you_selected").html(" <b>YOU HAVE CHOSEN:</b> <br>" + "<div id='choice_list'>" + selectData + "</div>"); 
     } 
     displayVals(); 
     $(":checkbox").click(displayVals); 
    </script> 
+0

將'$('a.screenshot')'改成'。('a.screenshot')。text()'在'.map()'的返回行中。 – Orbling 2011-05-04 17:52:44

+0

@Orbling - '$('a.screenshot')'將是所有的輸入,因爲它們都具有該類 – hunter 2011-05-04 17:59:40

+0

@hunter:非常正確,需要'$(this).siblings('label')。找到( 'a.screenshot')。文本()'。 – Orbling 2011-05-04 18:13:17

回答

0

首先,你需要找到一個labelfor屬性相匹配的複選框的選中id,發現其含有a標籤文字:

function displayVals() { 
    var selectData = $('input:checkbox:checked').map(function(n, i) { 
     var text = $("label[for='" + i.id + "'] a").text(); 
     return "<p id='choice'>" + text + "</p>"; 
    }).get().join(''); 

    $("p.#you_selected").html(" <b>YOU HAVE CHOSEN:</b> <br>" 
     + "<div id='choice_list'>" + selectData + "</div>"); 
} 

工作示例:http://jsfiddle.net/hunter/ZSmRC/

+0

獵人== ROCKSTAR!非常感謝你。 – mrMajesty 2011-05-04 18:18:12

1

這裏是一個working example。 JS看起來像這樣:

$(document).ready(function() { 

    $('input:checkbox').click(function() { 

     //alert('clicked'); 

     var texts = new Array(); 

     $('input:checked').each(function() { 
      texts.push($(this).siblings('label').children('a.screenshot').text()); 
     }); 

     alert(texts); 
    }); 
}); 

Enjoy!