Как я могу позвонить onclick в списке радиокниг с помощью javascript?
Вызов onclick в списке радиообъектов с помощью javascript
Ответ 1
Как вы создаете список переключателей? Если вы просто используете HTML:
<input type="radio" onclick="alert('hello');"/>
Если вы создаете их через нечто вроде ASP.NET, вы можете добавить это как атрибут для каждого элемента в списке. Вы можете запустить это после заполнения своего списка или встроить его, если вы создадите список один за другим:
foreach(ListItem RadioButton in RadioButtons){
RadioButton.Attributes.Add("onclick", "alert('hello');");
}
Дополнительная информация: http://www.w3schools.com/jsref/event_onclick.asp
Ответ 2
Чтобы запустить событие onClick на радиокниге, вызовите метод click()
в элементе DOM:
document.getElementById("radioButton").click()
с помощью jquery:
$("#radioButton").click()
AngularJs:
angular.element('#radioButton').trigger('click')
Ответ 3
Я согласен с @annakata, что этот вопрос нуждается в более подробном пояснении, но вот очень, очень простой пример того, как настроить обработчик событий onclick
для переключателей:
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var ex1 = document.getElementById('example1');
var ex2 = document.getElementById('example2');
var ex3 = document.getElementById('example3');
ex1.onclick = handler;
ex2.onclick = handler;
ex3.onclick = handler;
}
function handler() {
alert('clicked');
}
</script>
</head>
<body>
<input type="radio" name="example1" id="example1" value="Example 1" />
<label for="example1">Example 1</label>
<input type="radio" name="example2" id="example2" value="Example 2" />
<label for="example1">Example 2</label>
<input type="radio" name="example3" id="example3" value="Example 3" />
<label for="example1">Example 3</label>
</body>
</html>
Ответ 4
Проблема заключается в том, что рендеринг RadioButtonList обертывает отдельные переключатели (ListItems) в тегах span и даже когда вы назначаете обработчик событий на стороне клиента элементу списка непосредственно с помощью атрибутов, он присваивает событию span. Присвоение события RadioButtonList присваивает его таблице, в которую она отображается.
Трюк здесь заключается в том, чтобы добавить ListItems на страницу aspx, а не из кода. Затем вы можете назначить функцию JavaScript свойству onClick. Это сообщение в блоге; добавление обработчика событий на стороне клиента в список радиокномов Juri Strumpflohner объясняет все это.
Это работает только в том случае, если вы заранее знаете ListItems и не помогаете, когда элементы в RadioButtonList должны динамически добавляться с использованием кода.
Ответ 5
попробуйте следующее решение
HTML:
<div id="variant">
<label><input type="radio" name="toggle" class="radio" value="19,99€"><span>A</span></label>
<label><input type="radio" name="toggle" class="radio" value="<<<"><span>B</span></label>
<label><input type="radio" name="toggle" class="radio" value="xxx"><span>C</span></label>
<p id="price"></p>
JS:
$(document).ready(function () {
$('.radio').click(function () {
document.getElementById('price').innerHTML = $(this).val();
});
});
Ответ 6
Hi, I think all of the above might work. In case what you need is simple, I used:
<body>
<div class="radio-buttons-choice" id="container-3-radio-buttons-choice">
<input type="radio" name="one" id="one-variable-equations" onclick="checkRadio(name)"><label>Only one</label><br>
<input type="radio" name="multiple" id="multiple-variable-equations" onclick="checkRadio(name)"><label>I have multiple</label>
</div>
<script>
function checkRadio(name) {
if(name == "one"){
console.log("Choice: ", name);
document.getElementById("one-variable-equations").checked = true;
document.getElementById("multiple-variable-equations").checked = false;
} else if (name == "multiple"){
console.log("Choice: ", name);
document.getElementById("multiple-variable-equations").checked = true;
document.getElementById("one-variable-equations").checked = false;
}
}
</script>
</body>
Ответ 7
Другие ответы у меня не сработали, поэтому я проверил официальную документацию Telerik, где сказано, что вам нужно найти кнопку и вызвать функцию click()
:
function KeyPressed(sender, eventArgs) {
var button = $find("<%= RadButton1.ClientID %>");
button.click();
}