Обычный jQuery click listener подойдет. Делая некоторые предположения о вашем HTML-коде (что вы используете радио-кнопки ввода с тегами меток, чьи атрибуты for соответствуют идентификаторам радио-кнопок):
$("#options input").click(function(){
var optionID= $(this).attr(id);
var outputText= $("label[for="+optionID+"]");
$("#output").text(outputText);
});
Этот код выполнит почти то, что вы хотите. Если вам нужны отдельные DIV для каждого конкретного выходного сообщения, просто создайте div для каждого класса output
, скажем, с атрибутом rel
, соответствующим идентификатору кнопки ввода, а затем:
$("#options input").click(function(){
var optionID= $(this).attr(id);
$("div.output[rel!="+optionID+"]").slideUp(function(){
var outputDiv= $("div[rel="+optionID+"]");
});
});
Этот код можно улучшить, улучшив обработку ситуаций, в которых повторно выбирается уже выбранная опция (попробуйте ... могут происходить странные вещи), или если щелчки происходят очень быстро.
Альтернативно, вы можете просто использовать обычный атрибут onclick
для переключателей ввода, если вы просто хотите придерживаться нативного Javascript. Если вас интересует соответствующий код для этого, оставьте комментарий, и кто-то обязательно сможет вам помочь.