2013-07-31 57 views
2

的Javascript:如何觸發檢查單選按鈕,點擊jQuery的或JavaScript

if (GetCookie('prev_radio_value')!=null){ 
    alert(GetCookie('prev_radio_value')); 
    $(":radio[value="+GetCookie('prev_radio_value')+"]").attr('checked',true); 
    $(":radio[value="+GetCookie('prev_radio_value')+"]").triggerHandler('click'); 

    $(':radio:checked').triggerHandler('click'); 

    $('input:radio[name=theme]:checked').click(); 

    }else{ 
     alert("clicking first"); 
    $("input:radio:first").attr("checked", true).trigger("click"); 
    } 

HTML代碼:

<ul> 
<li><input type="radio" name="theme" value="theme1"/>Theme1</li> 
<li><input type="radio" name="theme" value="theme2"/>Theme2</li> 
</ul> 

這個代碼是內部的div - > 'checkbox_div'

點擊功能:

$("#checkbox_div input:radio").click(function() { 
    alert("clicked") ; 
}); 

I已經用3種方式使用了觸發器點擊,但是他們都沒有工作或觸發了點擊事件。

示例鏈接:http://jsbin.com/ezesaw/1/edit在選擇第一個單選按鈕時不會觸發單擊事件。

+0

將'attr()'改爲'prop()',因爲checked屬性應該總是用'prop()'來設置,否則就會出現問題。此外,您應該使用單選按鈕上的'change'事件,而不是'click'事件,並使用'input [type =「radio」]'not'input:radio'。 – adeneo

+0

此外,你要找的是$('#checkbox_div input [type =「radio」]:checked')。trigger('click');' – adeneo

+0

$(「input [type ='radio'value = 「+的getCookie( 'prev_radio_value')+」]「)丙( '檢查',真)。 ...拋出一個異常....像這樣..........未捕獲的錯誤:語法錯誤,無法識別的表達式:[type ='radio'value = theme1] – user2569524

回答

1

只需撥打「點擊()」無函數作爲參數

$("#checkbox_div input:radio").click(); 
+0

這是不工作.....它沒有觸發點擊事件....但它怎麼知道哪個單選按鈕被點擊了......如果我認爲錯誤,你能否改正? – user2569524

1

它工作得很好:

http://jsbin.com/ivojoz/1/edit

的問題可能是你沒有正確地選擇單選

嘗試

$('#checkbox_div input[type="radio"]').click(function() { 
    alert("clicked") ; 
}); 
+0

這個功能工作正常....但我想觸發一個選中的單選按鈕上的點擊事件...在文檔加載時.... – user2569524

+0

看到這個:htt p://jsbin.com/ivojoz/1/edit – user1721135

+0

點擊事件不會觸發選擇第一個廣播... dono y .... [http://jsbin.com/ezesaw/1/edit](http ://jsbin.com/ezesaw/1/edit) – user2569524

0

如果妳仍有意這樣一個問題:

選擇/檢查單選按鈕,所有你需要的是bind給它一個程序時,click事件是隱含的,這僅僅是一種方法:

//js for radio button click 
$('input[type="radio"]').on('click', function(){ 
    window.alert($(this).val()); 
}) 

<!--html--> 
<input type="radio" value="first" name="same"/> 
<input type="radio" value="second" name="same"/> 
<input type="radio" value="third" name="same"/> 
0
$("#checkbox_div").on('click','input:radio', function() { 

     alert("clicked"); 

    }); 

給這段代碼一個鏡頭。它爲我工作。