我的婚礼有网络。在里面,我有一个预订页面,用户可以在其中选择他是否要去。我想要的是当这个人不去时隐藏食物选择字段。我用这个代码做到了,但它仅适用于预订表格中有 2 人或更多人时组中的第一个人,只隐藏了第一个人的选择......如果所有其他客人的食物选择不打算,我该怎么做。
函数 bailoteo() {
var rsvbailoteo = document.getElementsByTagName('select')[1];
var food = document.getElementById('food');
var the_cake = document.getElementById('the_cake');
var selects = document.getElementsByTagName('select');
console.log(rsvbailoteo.value);
if (rsvbailoteo.value == 0) {
console.log('no estare');
food.style.display = 'none';
the_cake.style.display ='none';
selects[2].value = "none";
selects[3].value = "none";
} else if (rsvbailoteo.value == 1) {
console.log('si estare');
food.style.display = 'block';
the_cake.style.display = 'block';
selects[2].options[0].selected = true;
selects[3].options[0].selected = true;
}
}
嘿,
在没有标记的情况下缩小范围很复杂。但是这个例子有效。也许它有帮助。
document.getElementsByTagName('select')[0].addEventListener('change',function(){
bailoteo();
});
function bailoteo() {
var rsvbailoteo = document.getElementsByTagName('select')[0];
var food = document.getElementsByTagName('select')[1];
if (rsvbailoteo.value == 1) {
console.log('no estare');
food.style.display = 'none';
} else if (rsvbailoteo.value == 0) {
console.log('si estare');
food.style.display = 'block';
}
}
<select>
<option value="0">coming</option>
<option value="1">not coming</option>
</select>
<select>
<option value="0">pizza</option>
<option value="1">applepie</option>
</select>
getElementById是问题所在。ID 是 HTML 中单个"事物"的唯一标识符。您应该分配一个类并改用它。