Show/hide div 和 JQuery

Show/hide div with JQuery

我有这个代码:

$(document).ready(function() {
                $('#viewAll').hide(); 
                $('#viewProductIframe').hide(); 
                $('#viewIngredientIframe').hide(); 
            $('#viewPackagingIframe').hide(); 

            $.viewMap = {
                'viewEmpty' : $('#viewEmpty'),
                'viewAll' : $('#viewAll'),
                'viewProductIframe' : $('#viewProductIframe'),
                'viewIngredientIframe' : $('#viewIngredientIframe'),
                'viewPackagingIframe' : $('#viewPackagingIframe')
            };

            $('#viewSelector').change(function() {
                // hide all
                $.each($.viewMap, function() { this.hide(); });
                // show current
                $.viewMap[$(this).val()].show();
            }); 
        });

应该show/hide一组div。只有 viewProductIframe div 实际出现。 起初我有 4 divs 没有 iframe 显示数据库中的表。我把这些div的内容放到了"viewAll"里面,加上了"viewProductIframe"和另外两个。 此更改显然破坏了代码,我找不到原因。

我的下拉菜单:

<select name="viewSelector" id="viewSelector">
                        <option name="viewEmpty" value="viewEmpty">Select an Option</option>
                        <option name="viewAll" value="viewAll">All</option>
                        <option name="viewProductIframe" value="viewProductIframe">Products</option>
                        <option name="viewIngredientIframe" value="viewIngredientIframe">Ingredients</option>
                        <option name="viewPackagingIframe" value="viewPackagingIframe">Packaging</option>
                    </select>

唯一出现的div:

<div id="viewProductIframe" name="viewProductIframe">
                    <h2>Product</h2>
                    <iframe src="products.php" class="displayFrame" />
                </div>

另一个 iframe div,仍然不可见:

<div id="viewIngredientIframe" name="viewIngredientIframe">
                        <h2>Ingredients</h2>
                        <iframe src="ingredients.php" class="displayFrame" />
                    </div>

有人知道问题出在哪里吗?

试试下面的代码

1) 为我添加的所有 div 设置通用 class class 例如 common

<div id="viewProductIframe" name="viewProductIframe" class="common">
                    <h2>Product</h2>
                    <iframe src="products.php" class="displayFrame" />
                </div>

 <div id="viewIngredientIframe" name="viewIngredientIframe" class="common">
                    <h2>Ingredients</h2>
                    <iframe src="ingredients.php" class="displayFrame" />
                </div>

jquery 是

$(document).ready(function() {
    $(".common").hide();
    $('#viewSelector').change(function() {
                    $(".common").hide(); // hide all divs
                     var id = $(this).find("option:selected").val(); // get current val
                    $("#" + id).show() // show current div id
      }); 
});