簡體   English   中英

html服務器控件復選框以asp.net Web形式由jQuery隱藏

[英]html server control Check box hiding by jQuery in asp.net web form

我有一個簡單的頁面,其中包含三個復選框,其中復選框通過jQuery自動填充數據,而第四個復選框則沒有data(empty)。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MasterPageWithHTMLInput.aspx.cs" Inherits="Test_WSMS_TV.MasterPageWithHTMLInput" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>

        <script type="text/javascript">
            // alert('akash');
            $(document).ready(function() {
                var arr = ["val1", "val2", "val3"];
                $('#check label').each(function(index) {
                    if (index < arr.length)
                        $(this).text(arr[index]);    
                });    
            });
        </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

        <div class="container" id="check">
            <input type="checkbox" id="CheckBox3" runat="server" />
            <label>
            </label>
            <input type="checkbox" id="CheckBox4" runat="server" />
            <label>
            </label>
            <input type="checkbox" id="CheckBox5" runat="server" />
            <label>
            </label>
            <input type="checkbox" id="CheckBox6" runat="server" />
            <label>
            </label>
        </div>

    </asp:Content>

我想通過jQuery隱藏沒有數據的復選框和標簽(第四位)。

<input type="checkbox" id="CheckBox6" runat="server"/>
        <label>
        </label>

我如何通過jQuery做到這一點?

也許嘗試以下方法之一

$("#CheckBox6").hide();

要么

$("#CheckBox6").toggle();

您可以使用:empty選擇器

選擇所有沒有子元素的元素(包括文本節點)。

腳本

$('#check label:empty').hide();
$('#check label:empty').prev(':checkbox').hide();

我找到了動態解決方案。 填充ID並隱藏其余的空白文本框

<script type="text/javascript">
       // alert('akash');
        $(document).ready(function () {
            var arr = ["val1", "val2", "val3"];
            $('#check label').each(function (index) {
                if (index < arr.length)
                    $(this).text(arr[index]);
                else {
                    //                    $('#check label:empty').prev(':checkbox').hide();
                    var i = index + 3;
                    var id = "#CheckBox" + i;
                    alert(id);
                    $(id).hide();
                }
            });
         //   $("#CheckBox6").hide();
        });

    </script>

並且在asp.net中需要主占位符clientidmode =“ Static”。

<input type="checkbox" id="CheckBox6" runat="server" clientidmode="Static" />
        <label>
        </label>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM