0

我现在有一个未显示在仪表板上的网格列表,我需要在仪表板上显示这些网格,因此我单击下拉项,以便它应该显示在仪表板上并从下拉列表中删除。我正在使用 jquery 的 .hide() 从下拉列表中隐藏该项目。在第一种情况下,它会从下拉列表中删除项目。

如果用户可以单击交叉按钮,我在网格上有交叉按钮,该项目应该在下拉列表中可见。但如果我重复这些步骤,该项目不会从下拉列表中隐藏。

var name = "#" + e.getAttribute("name");
            $(name).hide();
            var widgetId = "#" + e.getAttribute("name") + "Widget";
            $(widgetId).addClass("widget");
            //$("#" + e.getAttribute("gridName") + "Grid").data('kendoGrid').dataSource.read();
            $(widgetId).show();
            CreateWidgets();

我正在使用此代码从网格中删除项目并重绘网格。

谢谢乔普拉王子

4

1 回答 1

0

以下代码将帮助您了解如何解决此问题,

http://jsfiddle.net/FhcFy/

示例 HTML

<select id="gridSelection">
    <option value="0">Select a option</option>
    <option value="1">grid 1</option>
    <option value="2">grid 2</option>
    <option value="3">grid 3</option>
    <option value="4">grid 4</option>
    <option value="5">grid 5</option>
</select>
<button id="show">show</button>
<div class="gridContainer">
    <div id="grid1">Grid 1<span>x</span>    
    </div>
    <div id="grid2">Grid 2<span>x</span>    
    </div>
    <div id="grid3">Grid 3<span>x</span>    
    </div>
    <div id="grid4">Grid 4<span>x</span>    
    </div>
    <div id="grid5">Grid 5<span>x</span>    
    </div>
</div>

JavaScript,

$(document).on("click", "#show", function (e) {
    var selectedGrid = $("#gridSelection").val();
    $("#gridSelection option[value=" + selectedGrid + "]").hide();
    $("#gridSelection").val(0);
    $(".gridContainer").find("#grid" + selectedGrid).data("option", selectedGrid).show();    
});

$(".gridContainer").on("click", "span", function () {
    var grid = $(this).closest("div");
    grid.hide();
    $("#gridSelection option[value=" + grid.data("option") + "]").show();
});
于 2013-05-10T12:08:52.687 回答