2013-06-04 79 views
0
var un = $('input[name=tur]:checked').val(); 
alert(un); 
if (!un) { 
    isValid = false; 
    $('#msg_username').html('Error.').show(); 
} else { 
    $('#msg_username').html('').hide(); 
} 

我試過警報(聯合國)控制;即不具有$('input[name=tur]:checked').val();的廣播組的價值。它來自未定義的ie。 在Firefox中沒有問題。jquery得到檢查電臺價值ie8

我如何獲得選中的單選按鈕的值?

+3

我想你的意思是使用'||'(或)而不是'&&'(和)。爲什麼當'un'爲'null','undefined','false','NaN','0'或''''時測試'un.length'?當'un'是一個字符串時,測試它纔有意義。即使如此,'!un'對於一個空字符串是'true',所以'.length'測試是不必要的。 –

+0

Felix有解決方案,但是如果你測試長度,試試'.length === 0' - 它不會小於零,所以'<='沒有意義。 – nnnnnn

+0

那是因爲它是文本框控件,需要轉換爲廣播組控件。固定的規則,現在我可以得到我的答案,爲什麼不在ie8中工作? – milesh

回答

0
$('input[name=tur]').filter(':checked').val() 

此外,if(!un && un.length <= 0)可能在這裏出現問題。剛剛嘗試if (un && un !== '')

+1

試過。仍然給'未定義'。 – milesh

+0

然後嘗試$('input [name = tur]:is('checked'))。val(); – Alex

+0

語法錯誤。 – milesh

0

有一個在你的代碼沒有問題,但你可以改變你的病情

我認爲你應該檢查radio buttoncheckednot 使用,

var un = $('input[name=tur]').is(':checked');  
// returns true if checked, otherwise false 

全部代碼,

var un = $('input[name=tur]').is(':checked'); 
if (!un) { 
    isValid = false; 
    $('#msg_username').html('Error.').show(); 
} else { 
    $('#msg_username').html('').hide(); 
} 
+0

有。它不在ie8中工作。 – milesh

+0

@milesh測試上面的答案我已經對它進行了修改。 –

+0

Firefox沒有問題返回true,但ie8返回false。選中的控件不起作用。 – milesh

0

試試這個

var un = $("input[name='tur']:checked").val();