2012-03-14 90 views
0
<form id="form1" name="form1" method="post" action=""> 
    <input type="checkbox" id="check1" value="radio" /> 
    <label>left</label> 
    <input type="checkbox" id="check2" value="radio2" /> 
    <label>right</label> 
</form> 

我想知道,如果複選框被選中或不是每次有人點擊它,然後將值設置爲yes。jQuery選中單選按鈕值

if ($('#check1').attr('checked');){ 
var check1 = 'yes'; 
else 
var check1 ='no' 
} 

這是我迄今爲止,並沒有工作 如何返回值

回答

7

你不需要if語句來做到這一點。您可以使用.is(":checked"),如果選中,將返回true,如果不是,則返回false。將該值直接賦值給您的變量而不是使用if語句:

var check1; 
$("#check1").click(function(){ 
    check1 = $(this).is(":checked"); 
}); 
1

在javascript中,範圍僅針對函數。與大多數其他語言不同,這意味着您不應該在if或else塊內定義變量。

你應該使用attr的道具,而不是爲被檢查的屬性(假設最新版本的jQuery)

最後,你有一個錯誤的分號這可能是打破if語句。

試試這個:

var check1; 
if ($('#check1').prop('checked')) { 
    check1 = 'yes'; 
} else { 
    check1 ='no' 
} 
+1

@Matt正確。 javascript不會像大多數其他語言那樣僅限於函數。 – jbabey 2012-03-14 13:22:34

2

試試這個:

$("#check1").is(':checked') 
1

看看這個的jsfiddle。 http://jsfiddle.net/ReF4X/讓我知道我所做的事對你沒有意義。

未來,當你遇到JS問題時,你應該製作一個JSfiddle並將其發佈到此處。然後人們將用一個工作解決方案來修改它。

+0

gotcha謝謝約翰 – cppit 2012-03-14 13:35:01