#javascript #jquery #input
#javascript #jquery #ввод
Вопрос:
Я все еще новичок, поэтому прошу прощения за любые ошибки. Я много искал и не мог решить свою проблему. Я динамически создал этот радиовход:
var radio_input = document.createElement('input');
radio_input.type = "radio";
radio_input.name = "test_input"
radio_input.value = "teeest";
radio_input.appendChild(my_form);
Однако я не могу отобразить входное значение. Я получаю что-то похожее на это:
(но один вместо 3)
Я хочу, чтобы «тест» был написан в левой части ввода… Кто-нибудь может мне помочь?
Комментарии:
1. На входе типа radio нет места для самого текста, вам нужно прикрепить элемент label, чтобы рядом с ним отображался текст.
Ответ №1:
Как сказал @RobertoLinare в своем комментарии, вы можете создать div и добавить метку:
var radio_input = document.createElement('input');
var label = document.createElement('label');
var div = document.createElement('div');
radio_input.type = "radio";
radio_input.name = "test_input"
radio_input.value = "teeest";
label.innerHTML = "Label";
document.getElementById("my_form").appendChild(div);
div.appendChild(label);
div.appendChild(radio_input);
<form id="my_form">
</form>
Ответ №2:
HTML :
<form id="my_form"></form>
JS :
var myForm = document.getElementById("my_form");
// Clear previous contents of the container
while (myForm.hasChildNodes()) {
myForm.removeChild(myForm.lastChild);
}
var radio_input = document.createElement("input");
radio_input.type = "radio";
radio_input.name = "test_input";
radio_input.value = "teeest";
var label = document.createElement('label');
label.innerHTML = "Label Title ";
myForm.appendChild(radio_input);
myForm.appendChild(label);
Комментарии:
1. Это ничем не отличается от его кода, за исключением того, что он использует jQuery.