如果复选框被选中,则显示/隐藏div(通过搜索槽对象属性)

用户名

我正在建立一个网站,但遇到了麻烦。我有6个复选框:

    <div class="checkbox">
       <label>
         <input type="checkbox" value="Pizza" id="pizza">
         Pizza 
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="BBQ" id="bbq">
         BBQ
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="Chicken" id="chicken">
         Chicken
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="Pasta" id="pasta">
         Pasta
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="Chinese" id="chinese">
         Chinese
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="Mexican" id="mexican">
         Mexican
        </label>
    </div>
    <div class="checkbox">
       <label>
         <input type="checkbox" value="Indian" id="indian">
         Indian
        </label>
    </div>
</div>

    <div class="col-xs-7">
        <div class = "restaurant" id="Paradiso">
    </div>
    </div>
    <div class="col-xs-7">
        <div class = "restaurant" id="Wingsy">
    </div>
    </div>

还有更多的餐厅类div。

所以,我想做一件事:当复选框被选中时,它们会搜索槽式餐厅,并且如果该餐厅具有复选框中的属性,则会显示该属性。否则它会隐藏。

例子:

 var typeOfKitchen = ['pizza','bbq','chicken','pasta','chinese','mexican','indian'];

 var restaurants = new Array();

 restaurant = new Object();
 restaurant.[name] = "Paradiso";
 restaurant.[type] = typeOfKitchen[0];
 restaurants.push(restaurant);

 restaurant = new Object();
 restaurant.[name] = "Wingsy";
 restaurant.[type] = typeOfKitchen[2];
 restaurants.push(restaurant);

然后,我受困于代码的使用,以利用复选框的价值并搜索低谷餐厅,并仅显示拥有该属性的餐厅,并隐藏其他不具有该属性的餐厅。

沙里科夫·弗拉迪斯拉夫(Sharikov Vladislav)

首先,使用jsFiddle展示您的代码是一个好习惯。

看这个小提琴:http : //jsfiddle.net/EtJ6L/5/

我对您的代码进行了一些重组,添加了一些CSS和JS。

新的HTML代码:

<div class="checkbox">
    <input type="checkbox" value="Pizza" id="pizza" />
    <label>Pizza</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="BBQ" id="bbq" />
    <label>BBQ</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="Chicken" id="chicken" />
    <label>Chicken</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="Pasta" id="pasta" />
    <label>Pasta</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="Chinese" id="chinese" />
    <label>Chinese</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="Mexican" id="mexican" />
    <label>Mexican</label>
</div>
<div class="checkbox">
    <input type="checkbox" value="Indian" id="indian" />
    <label>Indian</label>
</div>
<div class="col-xs-7">
    <div class="restaurant" id="pizza">Paradiso</div>
</div>
<div class="col-xs-7">
    <div class="restaurant" id="bbq">Wingsy</div>
</div>

添加了CSS:

.restaurant {
    display: none;
}

添加了jQuery:

$(":checkbox").change(function () {
    var id = $(this).attr('id');
    $(".restaurant#" + id).toggle(this.checked);
});

怎么运行的?

请注意,我更改了带有有关餐馆信息的信息块。现在restraunt的名称(其他信息也在那里)是div的内部html。另外,要实现所需的功能,必须将约束块与输入连接起来。

查看此块html,例如:

<div class="col-xs-7">
    <div class="restaurant" id="bbq">Wingsy</div>
</div>

首先,名称是内部hmtl。另外,我id在该div的属性中添加了限制类型

查看以下输入html(与restraunt连接):

<div class="checkbox">
    <input type="checkbox" value="BBQ" id="bbq" />
    <label>BBQ</label>
</div>

首先,我重新整理了一下。现在,它比以前更有效。另外,请注意id此输入的属性。因此,输入和div现在已连接。

带有restraunt信息的div从一开始就被隐藏。它是通过CSS代码实现的display: none

现在看一下jQuery代码。

$(":checkbox").change(function () {
    var id = $(this).attr('id');
    $(".restaurant#" + id).toggle(this.checked);
});

我们处理页面上所有复选框元素的更改操作。我们保存了单击复选框的ID。之后,我们切换.restraunt#xxx元素,其中xxx是此元素的ID。Div和输入的连接,因此这种方法将起作用。切换显示或隐藏元素。在这里阅读有关它的信息。

希望这会帮助你。

注意我认为更好的方法是根据选中的复选框向服务器发出ajax请求,然后缓存并输出ajax响应。

如果您遇到这种情况,那么该餐厅可以拥有1个以上的厨房。正如我之前所说,更好的方法是使用ajax请求。您将发送一些参数,例如bbq=true&pizza=true,服务器将处理此查询并根据查询返回一些响应。我为你写了一个例子。看这个小提琴:http : //jsfiddle.net/EtJ6L/8/

例如,在复选框上,单击ajax请求发送至脚本bob.php看,正在发送什么数据。开启后,bob.php您将处理此查询。喜欢的东西$pizza = $_POST['pizza']; if($pizza != "") { // add something to sql query }等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果复选框被选中,如何显示/隐藏内容

来自分类Dev

如果选中复选框,则显示和隐藏div

来自分类Dev

如果选中了复选框,则显示div,否则隐藏,除非选中了“显示全部”复选框

来自分类Dev

如果复选框组中的复选框被选中,则显示该组复选框

来自分类Dev

如果选中复选框,则显示或隐藏表行

来自分类Dev

如果选中多个复选框,如何显示隐藏按钮

来自分类Dev

如果复选框已被选中并保存在数据库中,则隐藏字段集,如果未选中则显示字段集

来自分类Dev

如果在React JS中选中了复选框,如何隐藏或显示div

来自分类Dev

angularjs隐藏与某一类对象时复选框被选中

来自分类Dev

选中复选框时显示/隐藏div

来自分类Dev

如果复选框已选中,则隐藏复选框

来自分类Dev

当“如果(被选中 = true)”时如何在复选框中显示文本

来自分类Dev

如果未选中该复选框,如何隐藏该复选框的父div?

来自分类Dev

如果普通复选框被选中,则更改CheckBoxPreferesses

来自分类Dev

如果复选框被选中删除需要

来自分类Dev

选中复选框,如果另一个复选框被选中

来自分类Dev

如何更正复选框并显示是否被选中

来自分类Dev

在选中复选框之前隐藏 div

来自分类Dev

通过复选框cookie显示和隐藏div

来自分类Dev

检查复选框是否被选中?

来自分类Dev

检查复选框是否被选中?

来自分类Dev

检查复选框是否被选中

来自分类Dev

htmlunit:复选框未被选中

来自分类Dev

取消选中复选框并显示div

来自分类Dev

javascript在复选框上隐藏/显示div:已选中/未选中

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

复选框选中和取消选中后,提交操作后显示和隐藏div

来自分类Dev

javascript在复选框上隐藏/显示div:已选中/未选中

来自分类Dev

在选中和取消选中复选框时显示和隐藏div

Related 相关文章

  1. 1

    如果复选框被选中,如何显示/隐藏内容

  2. 2

    如果选中复选框,则显示和隐藏div

  3. 3

    如果选中了复选框,则显示div,否则隐藏,除非选中了“显示全部”复选框

  4. 4

    如果复选框组中的复选框被选中,则显示该组复选框

  5. 5

    如果选中复选框,则显示或隐藏表行

  6. 6

    如果选中多个复选框,如何显示隐藏按钮

  7. 7

    如果复选框已被选中并保存在数据库中,则隐藏字段集,如果未选中则显示字段集

  8. 8

    如果在React JS中选中了复选框,如何隐藏或显示div

  9. 9

    angularjs隐藏与某一类对象时复选框被选中

  10. 10

    选中复选框时显示/隐藏div

  11. 11

    如果复选框已选中,则隐藏复选框

  12. 12

    当“如果(被选中 = true)”时如何在复选框中显示文本

  13. 13

    如果未选中该复选框,如何隐藏该复选框的父div?

  14. 14

    如果普通复选框被选中,则更改CheckBoxPreferesses

  15. 15

    如果复选框被选中删除需要

  16. 16

    选中复选框,如果另一个复选框被选中

  17. 17

    如何更正复选框并显示是否被选中

  18. 18

    在选中复选框之前隐藏 div

  19. 19

    通过复选框cookie显示和隐藏div

  20. 20

    检查复选框是否被选中?

  21. 21

    检查复选框是否被选中?

  22. 22

    检查复选框是否被选中

  23. 23

    htmlunit:复选框未被选中

  24. 24

    取消选中复选框并显示div

  25. 25

    javascript在复选框上隐藏/显示div:已选中/未选中

  26. 26

    复选框选中和取消选中后,提交操作后显示和隐藏div

  27. 27

    复选框选中和取消选中后,提交操作后显示和隐藏div

  28. 28

    javascript在复选框上隐藏/显示div:已选中/未选中

  29. 29

    在选中和取消选中复选框时显示和隐藏div

热门标签

归档