嗨,我在婚礼网站上有一些选择字段.如果人们不去参加婚礼,我就会实现这一点



我的婚礼有网络。在里面,我有一个预订页面,用户可以在其中选择他是否要去。我想要的是当这个人不去时隐藏食物选择字段。我用这个代码做到了,但它仅适用于预订表格中有 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 中单个"事物"的唯一标识符。您应该分配一个并改用它。

相关内容

最新更新