嗨,我在婚礼现场有一些选择的领域......如果人们不参加婚礼,我会实现这一目标

时间:2017-11-04 18:43:16

标签: javascript

我的网上有我的婚礼。在里面我有一个预订页面,用户可以选择他是否去。如果这个人不去,我想要隐藏食物选择区域。我用这个代码做了它,但它只适用于团体中的第一个人,当预订表格有2个或更多人只隐藏第一个人的选择...我怎么能隐藏所有其他客人的食物选择,如果他们不会。

function 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;
    }
}

2 个答案:

答案 0 :(得分:0)

嘿,如果没有加价就缩小范围。但这个例子有效。也许有帮助。



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>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

getElementById是问题所在。 ID是HTML中单个“事物”的唯一标识符。您应该指定一个并使用它。