2013-09-07 2 views
4

Я могу легко захватить value или проверить, выбран ли переключатель с помощью .click(function(), но что мне нужно сделать, если вы хотите проверить, выбран ли переключатель и/или захват его значение после загрузки страницы (т. е. некоторые переключатели предварительно выбраны при загрузке страницы).jQuery После загрузки страницы проверьте, была ли выбрана радиокнопка

Я предполагал что-то подобное может работать, но это не делает:

$("input[type=radio][name=q22]:checked").val() 

Любые предложения?

+0

Я забыл скопировать что-то в моем оригинальный ответ, в случае, если вы видели его, прежде чем я быстро исправил. Обновлено. Я включил некоторые другие интересные функции, которые могут вас заинтересовать. – m59

ответ

11

Попробуйте с:

$(document).ready(function(){ 
    $("input[type=radio][name='q22']:checked").val() 
}); 
+0

Спасибо, если бы он работал под (window) .load и не работал бы, но под .ready его отлично - спасибо! –

+0

Почему цитаты из '[name = 'q22']'? это не имеет значения ... – Rikard

+0

Только что заметил, что - проигнорируйте мой предыдущий комментарий. –

0

Попробуйте это:

$(function(){ 
    $("input[type=radio][name='q22']:checked").val(); 
}); 

или же вы можете также использовать это:

$(function(){ 
     if ($("#radio1").is(":checked")) { 
     // do something 
     } 
    }); 
+0

Почему цитаты из '[name = 'q22']'? это не имеет никакого значения ... – Rikard

1

Либо просто поставить свой сценарий в нижней части страницы, непосредственно перед закрывающим </body> тега, или использовать jQuery's ready event. В любом случае сценарий будет иметь доступ к элементам на странице и может получить значение проверенного переключателя.

Gratuitous live example | source

1

использовал $(document).ready(handler)

Укажите функцию, чтобы выполнить, когда DOM полностью загружен.

Check This

$(document).ready(function() { 
    // Handler for .ready() called. 
    // Code run after DOM load success 
}); 


<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script> 
$(document).ready(function(){ 
    alert("") 
}); 
</script> 
</head> 
<body> 
</body> 
</html> 

будет оповещать после BODY загружен успех

2

Ваш код нормально.

Возможно, вы забыли, чтобы запустить его после загрузки страницы, и html был прочитан. Вы можете использовать jQuery's .ready() для этого.

$(document).ready(function() { 
    var i = $("input[type=radio][name=q22]:checked").val(); 
    console.log(i); 
}); 

Demohere

1

попробовать

var arr=$("input[type=radio][name=q22]:checked").map(function(){return $(this).val();}) 

 Смежные вопросы

  • Нет связанных вопросов^_^