Снимите флажок Radio Button в reactjs

Я хочу снять флажок с переключателя, и я пробовал почти все перечисленные ниже методы, но они не работают.

Может кто-нибудь посоветует, как этого добиться?

$('input[type = "radio"]').prop('checked', false);
$('input[type = "radio"]').removeAttr("checked");
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "savercol text-center" id = "regfareId00">
  <span class = "star icon-round_trip"></span>
  <input type = "radio" class = "" name = "foo0" value = "0~P~~P0IPRT~3207~~29~X|6E~2135~ ~~BLR~07/28/2018 01:30~DEL~07/28/2018 04:15~">
  <label class = ""><span>₹&nbsp;3,344</span></label>
</div>
$('input[type = "radio"]').prop('checked', false); должен работать.
Ankit Agarwal 25.07.2018 10:27

Куда вы вызываете этот код? Если он находится только во внешнем javascript, он будет немедленно выполнен при загрузке.

David 25.07.2018 10:29

Вместо этого вы должны использовать checkbox

Zakaria Acharki 25.07.2018 10:32

Ваш код определенно правильный. Но мне было интересно, звоните вы в нужное место или нет.

Terry Wei 25.07.2018 10:33

Всем привет, этот код написан поверх jaavscript.

Ambika Tewari 25.07.2018 11:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
2 860
2

Ответы 2

Для этого вам не нужен jQuery. Если у вас есть только один вариант, вы должны использовать флажок, если переключатели, вы можете использовать что-то вроде ниже:

Установить состояние

this.state = {
   value: ''
};

Обработчик изменений

handleChangeEvent(e) {
   value: e.target.value
}

В рендере, где параметры - это массив ваших значений.

{options.map((option, i) => (
   <div>
      <input
         type = "radio"
         name = {name}
         value = {option.value}
         checked = {this.state.value === option.value}
         onChange = {this.handleChangeEvent}}
      />
   </div>
))}

В jQuery вы должны знать разницу между attribute и property. (Ссылка на сайт)

Вот пример, показывающий, как они работают (работает только первый набор attribute).

Надеюсь это поможет :)

$('#a').click(function(){  
  $('input[type = "radio"]').attr("checked", true);
})
$('#b').click(function(){
  $('input[type = "radio"]').removeAttr("checked");
})
$('#c').click(function(){
  $('input[type = "radio"]').prop('checked', true);
})
$('#d').click(function(){
  $('input[type = "radio"]').prop('checked', false);
})
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "savercol text-center" id = "regfareId00">
  <span class = "star icon-round_trip"></span>
  <input type = "radio" class = "" name = "foo0" value = "0~P~~P0IPRT~3207~~29~X|6E~2135~ ~~BLR~07/28/2018 01:30~DEL~07/28/2018 04:15~">
  <label class = ""><span>₹&nbsp;3,344</span></label>
</div>
<button id = "a">Set by .attr</button>
<button id = "b">Remove by .removeAttr</button>
<button id = "c">Set by .prop true</button>
<button id = "d">Remove by .prop false</button>

Привет @Terry, как мне это сделать без функции onclick. Мне нужно поместить это в javascript, и на этот javascript есть ссылка на странице. Поэтому, когда страница загружается, должно выполняться действие, указанное в javascript.

Ambika Tewari 25.07.2018 11:19

Поместите метод set / unset в onload. Например, $(document).ready(function(event){......do set/unset action })

Terry Wei 25.07.2018 11:30

Другие вопросы по теме