2012-04-14 67 views
0

我有一些單選按鈕樣式隱藏,標籤可見並按照我想要的樣式進行設置。通過點擊帶有jQuery的標籤立即獲取一個單選按鈕

問題是當我點擊一個標籤時,第一次點擊沒有得到單選按鈕的值。

如果你看看這裏你能明白我的意思:http://jsfiddle.net/bQwtK/1/

有沒有辦法讓第一次點擊的價值?

答案 - 感謝asawyer和blocco- http://jsfiddle.net/bQwtK/14/

+0

它爲我在Chrome和Firefox(點擊每個標籤上選擇相應的單選按鈕,第一次和每一次 - 我認爲這就是你想?)。你使用的是什麼瀏覽器? – jimw 2012-04-14 01:20:26

+1

這個outa做到了。 http://jsfiddle.net/bQwtK/4/ – asawyer 2012-04-14 01:22:51

+0

謝謝,鏈接了錯誤的例子,但你明白我的意思!謝謝aswayer和blocco :) – penpen 2012-04-14 01:45:44

回答

1

您可以用代碼here獲得的價值:

$(".label_size").click(function() 
{ 
    alert($("#"+$(this).attr("for")).val()); 
}) 
+1

'this.getAttribute'? OP使用jQuery,使用'$(this).attr('for')' – asawyer 2012-04-14 01:27:28

+0

@asawyer:謝謝你的建議,編輯 – blocco 2012-04-14 01:31:17

+0

@DavidThomas:'this.for'似乎不適合我 – blocco 2012-04-14 01:32:32

0

你好:你的jsfiddle不給任何警告,請參閱正確演示這裏「:http://jsfiddle.net/NEu97/2/ &謝索耶:http://jsfiddle.net/NEu97/5/

請讓我知道它是怎麼回事&希望這可以幫助,:)

jQuery代碼

$(".label_size").click(function() 
{ 
    alert(' clicked value =' + $(this).text()); 
    alert(' correspong value =' + $('#'+$(this).attr('for')).val()); 
    alert("D"); 
}); 

    ​ 

HTML

<div class="radio">(This is styled to be hidden) 
    <input name="size" class="radio_size" type="radio" id="radio_size_small" value="small "/> 
    <input name="size" class="radio_size" type="radio" id="radio_size_medium" value="medium"/> 
    <input name="size" class="radio_size" type="radio" id="radio_size_large" value="large"/> 
</div> 

<div class="radio_labels"> 
    <label class="label_size" for="radio_size_small" id="label_size_small">SMALL</label> 
    <label class="label_size" for="radio_size_medium" id="label_size_medium">MEDIUM</label> 
    <label class="label_size" for="radio_size_large" id="label_size_large">LARGE</label> 
</div> 
​ 
+1

這會得到標籤的文本,而不是相應的單選按鈕的值 – asawyer 2012-04-14 01:23:35

+0

@asawyer aaaa糾正它謝謝很多人! CHeers +1 – 2012-04-14 01:24:04

1

您的代碼被打破 - 你錯過了在JavaScript一個右括號。

http://jsfiddle.net/bQwtK/5/

點擊標籤的作品。如果您想要單選按鈕的值,請記住,單擊事件是指標籤,而不是單選按鈕。您必須訪問「for」屬性才能獲取單選按鈕,然後獲取其值。