Я настраиваю свои переключатели с помощью меток 'label', используя селектор «before». Я использую событие click для ярлыков, чтобы сделать его доступным для всех браузеров (хром не поддерживает элементы до/после щелчка). Существует существующий скрипт, который будет показывать/скрывать некоторые элементы при нажатии переключателя.Два отдельных обработчика для одного события
То, что я пытаюсь сделать
Я пишу сценарий на «нажмите кнопку» событие ярлыках, лейблах. Существующие функции show/hide не работают должным образом, потому что я пытаюсь инициировать щелчок радио при нажатии метки.
Что мне нужно
Мне нужно написать скрипт, который не должен влиять на существующий скрипт (показать/скрыть) и он должен работать во всех браузерах.
То, что я не могу сделать
- Я не могу закончить это просто давая идентификатор и атрибуты. :(
- Я не могу настроить существующий сценарий.
То, что я думаю, что я могу сделать
- я могу изменить HTML/CSS, чтобы создать мою радио любым другим способом. Но есть много мест, чтобы сделать изменения. :(
- Использование «изменение» событие вместо для показать/скрыть дивы «нажмите».
Пример кода
/*what I'm trying...*/
$(document).ready(function(){
$('input[type="radio"]+label').on('click',function(){
$(this).prev().click();
});
});
/*existing script*/
$('input[name="fieldname"]').click(function(){
if($('#fieldid').is(':checked')){
$('#divid').show();
$('#divid1').hide();
} else if($('#fieldid1').is(':checked')){
$('#divid1').show();
$('#divid').hide();
}
});
/*existing script*/
.divs, input[type="radio"]{display:none;}
input[type="radio"]+label::before{
content:" ";
display:inline-block;
position:relative;
left:0;
top:0;
background:red;
height:10px;
width:10px;
border-radius:50%;
}
input[type="radio"]:checked+label::before{
background:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="radio" name="fieldname" id="fieldid" class="fieldclass" />
<label>show textfield</label>
<input type="radio" name="fieldname" id="fieldid1" class="fieldclass" />
<label>show button</label>
<div id="divid" class="divs"><input type="text" size="30"></div>
<div id="divid1" class="divs"><input type="submit" value="button"></div>
</form>
Спасибо за ответ. :) – Anand
Да. Я могу разместить новое скрипт после старого. – Anand
Добро пожаловать @ Ань ... хорошо, это здорово :) – Souvik