Почему значение проверенного радиовхода корректно доступно, но по умолчанию используется первое значение в группе при доступе в цикле «for»?

#javascript #html #validation #for-loop #radio-button

#javascript #HTML #проверки #для цикла #переключатель

Вопрос:

HTML:

 <div class="col-md-6 parameter">
    <h3>Property Type</h3><br>
    <input type="radio" value="residential" name="property_type" id="residential-property"><label for="residential-property">Residential</label><br>
    <input type="radio" value="commercial" name="property_type" id="commercial-property"><label for="commercial-property">Commercial</label><br>
</div>
  

JS:

 // Get Property Type
var property_type = document.querySelector('[name=property_type]:checked').value || "";
console.log(property_type);

if (property_type = "residential") {
    hello.innerHTML = "<div class='answer'>"   property_type   "</div>";
}
  

console.log(property_type) правильно идентифицирует переключатель, который отмечен, и возвращает значение, либо «жилое», либо «коммерческое». Однако, когда я пытаюсь использовать это выбранное значение, оно всегда по умолчанию равно «жилому».

Например, если я выбираю переключатель «Коммерческий» и нажимаю «Отправить», значение ‘property_type’ в ‘hello.innerHTML’ всегда по умолчанию равно «жилой». Странно то, что если я беру значение «property_type» из цикла «if», оно затем возвращает правильное значение всякий раз, когда я отправляю, либо «жилое», либо «коммерческое» в соответствии с переключателем, который я проверил.

Любая помощь приветствуется!

Ответ №1:

равно,

вам нужно использовать == вместо = в if (…) {}

 if( property_type == "residential")
  

Комментарии:

1. Это мелочи : D