2013-11-25 113 views
0

我已經差不多完成了這一點,但我卡在高級選擇器上。我試圖選擇一個單選按鈕旁邊的標籤,但它比這更復雜一點。選擇由類和屬性選擇的元素的鄰居

我有一個選擇框。只有選中的值與單選按鈕的名稱(以及部分)相匹配的單選按鈕(及其兄弟標籤)。

我有一個JS小提琴的設置,我期待做的是選擇1月份,除Jan之外的所有東西都應該隱藏起來,當我選擇2月份時,它應該改變。我試圖用名字和其他類來做到這一點,但如果它歸結爲它,我可以添加它們。

http://jsfiddle.net/alpha1beta/G9Sz2/2/

下面是我的工作選擇,以獲得單選按鈕,現在正在看如何讓自己的+ label旁邊

$('.radio([name="insights[interview_questions[' + curr_sel + ']]"])').css('display','inline'); 

提前感謝!

+1

是否這樣? http://jsfiddle.net/zZt6k/ – PSL

+0

@PSL釘釘!非常令人印象深刻!想讓它成爲答案,所以我可以給你信用? – alpha1

+0

http://jsfiddle.net/aamir/G9Sz2/7/ –

回答

1

嘗試

var $radios = $('.radio'), $all = $radios.add($radios.nextUntil('.radio')); 
$("#interview_month").change(function() { 
    var $mon = $radios.filter('.radio[name="insights[interview_questions[' + this.value + ']]"]'); 
    var $cur = $mon.add($mon.nextUntil('.radio')).show(); 
    $all.not($cur).hide() 
}).change(); 

演示:Fiddle

+0

哇,非常不同的方法,但效果很好。 – alpha1

0

試試這個:

$("#interview_month").change(function() { 
    $('.radio , label').hide(); 
    var sel = '.radio[name*="' + $("#interview_month").val() + '"]'; 
    $(sel).add(sel+'+label').css('display', 'inline'); 

});