let apples = ['Fuji','Gala','Braeburn'];
const basketDiv = document.getElementById('basket');
for (const apple of apples) {
let radiobtn= document.createElement('input');
radiobtn.setAttribute('type', 'radio');
let radiolabel = document.createElement('label');
radiolabel.innerHTML= apple;
radiobtn.name= 'apples';
radiobtn.id= apple;
basketDiv.append(radiobtn);
basketDiv.append(radiolabel);
radiobtn.addEventListener('change',message);
}
function message(e) {
let getselected = getSelectedValue = document.querySelector('input[name="apples"]:checked');
if(getselected != null) {
document.getElementById("show").innerHTML= getselected.value + " is selected";
}
else {
document.getElementById("show").innerHTML = "*You have not selected ";
}
}
我应该得到苹果的价值观,但我不能它给我开,我不知道什么是开,我需要知道我的错误是什么
1条答案
按热度按时间2lpgd9681#
看起来你的代码中有几个错误。在
message()
函数中,你试图使用getselected.value
来获取选中单选按钮的值。但是,单选按钮的value属性只有在你显式地给予它赋值时才能被设置。因为你没有给任何单选按钮赋值,所以getselected.value
总是未定义的。要解决此问题,可以使用
setAttribute()
方法将每个单选按钮的value属性设置为相应的apple名称。然后,在message()
函数中,可以使用所选单选按钮的id属性而不是其value属性来获取所选apple的名称。以下是修复代码的方法:
我希望这能帮上忙。