Javascript
У меня есть 2 переключателя и jquery.
<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second
Теперь, с помощью кнопки, я могу установить onClick для запуска функции. Как заставить переключатели запускать функцию, когда я нажимаю на одну из них?
Ответы
Ответ 1
Вы можете использовать .change
для того, что вы хотите
$("input[@name='lom']").change(function(){
// Do something interesting here
});
по состоянию на jQuery 1.3
вам больше не нужно "@". Правильный способ выбора:
$("input[name='lom']")
Ответ 2
Если у вас есть радиостанции в контейнере с id = radioButtonContainerId, вы все равно можете использовать onClick, а затем проверить, какой из них выбран, и соответственно запустить некоторые функции:
$('#radioButtonContainerId input:radio').click(function() {
if ($(this).val() === '1') {
myFunction();
} else if ($(this).val() === '2') {
myOtherFunction();
}
});
Ответ 3
<input type="radio" name="radio" value="creditcard" />
<input type="radio" name="radio" value="cash"/>
<input type="radio" name="radio" value="cheque"/>
<input type="radio" name="radio" value="instore"/>
$("input[name='radio']:checked").val()
Ответ 4
Есть несколько способов сделать это. Независимо от наличия контейнера вокруг радиокнопок, но вы также можете поместить класс непосредственно на кнопки. С помощью этого HTML:
<ul id="shapeList" class="radioList">
<li><label>Shape:</label></li>
<li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li>
<li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li>
</ul>
вы можете выбрать по классу:
$(".shapeButton").click(SetShape);
или выберите идентификатор контейнера:
$("#shapeList").click(SetShape);
В любом случае событие будет срабатывать при нажатии на переключатель или ярлык для него, хотя, как ни странно, в последнем случае (выбор по "#shapeList" ), нажатие на метку вызовет функцию щелчка дважды для некоторых причина, по крайней мере, в FireFox; выбор по классу этого не сделает.
SetShape - это функция и выглядит следующим образом:
function SetShape() {
var Shape = $('.shapeButton:checked').val();
//dostuff
}
Таким образом, вы можете иметь метки на своих кнопках и иметь несколько списков переключателей на одной странице, которые делают разные вещи. Вы даже можете, чтобы каждая отдельная кнопка в том же списке делала разные вещи, настраивая другое поведение в SetShape() на основе значения кнопки.
Ответ 5
это должно быть хорошо
$(document).ready(function() {
$('input:radio').change(function() {
alert('ole');
});
});
Ответ 6
всегда полезно ограничивать поиск DOM. поэтому лучше использовать родителя, чтобы весь DOM не проходил.
ОЧЕНЬ БЫСТРЫЙ
<div id="radioBtnDiv">
<input name="myButton" type="radio" class="radioClass" value="manual" checked="checked"/>
<input name="myButton" type="radio" class="radioClass" value="auto" checked="checked"/>
</div>
$("input[name='myButton']",$('#radioBtnDiv')).change(
function(e)
{
// your stuffs go here
});