2014-02-03 3 views
1

У меня есть группа из 4 переключателей с последующим текстовым вводом, когда пользователи нажимают на поле ввода текста. Я пытаюсь очистить все радиовходы. вот мой код до сих пор.очистить переключатели при нажатии на ввод текста

<input type="radio" name="radio"><label for="radio1">1</label> 
<input type="radio" name="radio"><label for="radio2">2</label> 
<input type="radio" name="radio"><label for="radio3">3</label> 
<input type="radio" name="radio"><label for="radio4">4</label> 
<input type="text" id="textInput"> 

<script> 
     $('#textinput').click(function() { 
      radio.checked = false; 
     }); 
</script> 

ответ

2
<script> 
     $('#textInput').click(function() { 
      $('input[type=radio]').removeAttr("checked"); 

     }); 
</script> 
+0

Ничего себе, что было быстро спасибо! – nick

+0

Идентификатор должен быть «textInput», а не «textinput» (капитал I). – Organiccat

+0

@ user3117555 не дают одинакового имени всем переключателям. имя должно быть уникальным для каждого элемента –

4

Вы можете использовать .prop() для установки проверяется свойство кнопок ввода rabio. Также вы опечатка textInput в то время как событие связывания

<script> 
     $('#textInput').click(function() { 
      $('input[name="radio"]').prop("checked", false); 
     }); 
</script> 

DEMO

+0

Ошибка на начальном селекторе из textInput. Но, да, это работает. Вот скрипка http://jsfiddle.net/Tykzt/ –

+0

@JoeBrunscheon, Спасибо – Satpal

1

Или вы можете попробовать Аттрибут метод()

$('#textInput').click(function() { 
     $('input[name="radio"]').attr('checked',false); 

     }); 

DEMO

+0

Вы должны прочитать [это] (http://stackoverflow.com/questions/5874652/prop-vs-attr) – Satpal

1

Я думаю, что лучший способ изменить свой блок сценария (без изменения вашего html), сначала убедитесь, что код работает на готовом документе, а также вы, вероятно, должны обеспечить что событие фокус, не щелкает, в случае, если кто-то с помощью клавиатуры или альтернативной навигации:

$(function() { 
    $('#textInput').focus(function() { 
      $('input[name=radio]').prop("checked", false); 
    }); 
}); 

Хотя это, вероятно, более вероятно, что вы хотите только четкие другие выборы, если они на самом деле ввести некоторые данные в этой области, вы, возможно, захотите:

$(function() {  
    $('#textInput').on('input', function() { 
     if($(this).val().length > 0) { 
      $('input[name=radio]').prop("checked", false); 
     } 
    }); 
}); 
Смежные вопросы