zoukankan      html  css  js  c++  java
  • JQuery实现下拉框的选择 与当CheckBox为服务器控件时如何获取值的操作,实现全选与删除

    <script type="text/javascript" defer="defer">
           //选择DropDownList中的值并保存在隐藏域中

     //选择接等员
    function SelectReceptionist()
    {
       if ($("#<%=ddlSelectReceptionist.ClientID %>").val() != "")
        {
            $("#<%=hfReceptionist.ClientID %>").val($("#<%= ddlSelectReceptionist.ClientID %>").val());
        }
    }

     

    //全选
    $(function()
    {
        $("#chkAll").bind("click", function()
        {
            if ($("#chkAll").attr("checked") == true)
            {
                $("input[name$='chkClass']").each(function() //("input[name='chkClass']")
                {
                    $(this).attr("checked", true);
                });
            }
            else
            {
                $("input[name$='chkClass']").each(function()//input[name='chkClass']
                {
                    $(this).attr("checked", false);
                });
            }
        });
    });

     

     

    //保存要安排接待员的班级ID
        function ArrangeReceptionist()
        {
            var texts = "";
            //$(":checkbox").each
            //$("input[name='chkClass']")
            $("input[name$='chkClass']").each(function()
            {
                if ($(this).attr("checked") == true)
                {
                    //texts += $("span[name='chkClass']").attr("title") + ";";

          texts += $(this).parent().attr("title") + ";"; //解决CheckBox为服务器控件的问题,得到父对象的title属性,在下面解释

                }
            });

            if (texts != "")
            {
                if (confirm("确定要给这些班级安排接待员吗?") == true)
                {
                    var tempClass = texts.substring(0, texts.length - 1);
                    $("#<%= hfSelectedClass.ClientID %>").val(tempClass);
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                alert("请选择要安排的班级");
                return false;
            }
        }


    </script>

     <table>

      <tr class="dataTable2Row">
               <td class="dataTable2Text">选择接待员:</td>
               <td >
                 <asp:DropDownList runat="server" ID="ddlSelectReceptionist" CssClass="select2" Width="120px" onchange="SelectReceptionist()" >
           
                </asp:DropDownList>
                <asp:HiddenField ID="hfReceptionist" runat="server" />   
              </td>

          </tr>

          <tr>
       <td  valign="top">
        <asp:GridView ID="gvClassInfoList" runat="server" Width="100%" AutoGenerateColumns="False" DataKeyNames="ClassID" CssClass="Grid"  >
            <Columns>
                <asp:TemplateField HeaderText="全选">
                    <HeaderTemplate>
                        <input ID="chkAll" type="checkbox" name="chkAll"  value="全选" />
                    </HeaderTemplate>
                    <ItemTemplate>
                      <asp:CheckBox ID="chkClass" name="chkClass" title='<%# Eval("ClassID") %>' runat="server"  /> //CheckBox为服务器控件       
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="班级ID" Visible="False">
                    <ItemTemplate>
                        <asp:Label ID="lblClassId" runat="server" Text='<%# Eval("ClassID") %>' Visible="false" ></asp:Label>
                    </ItemTemplate>                       
                </asp:TemplateField>
                <asp:BoundField DataField="CLASSNO" HeaderText="班级代码" SortExpression="IS_REPLY">
                    <HeaderStyle Wrap="False" />
                </asp:BoundField>
                <asp:BoundField DataField="FROMNO" HeaderText="延续自" ></asp:BoundField>                   
                <asp:BoundField DataField="ATTENDNO" HeaderText="延续至" ></asp:BoundField>
                <asp:BoundField DataField="WITHNO" HeaderText="合班" ></asp:BoundField>
                <asp:BoundField DataField="Receptionist" HeaderText="接待员"  ></asp:BoundField>                   
                <asp:BoundField DataField="PROGRAMNAME" HeaderText="培训项目" />
                <asp:BoundField DataField="ItemName" HeaderText="类别 " ></asp:BoundField>
                <asp:BoundField DataField="TRAINEENO" HeaderText="总人数" ></asp:BoundField>
                <asp:BoundField DataField="STARTDATE" HeaderText="理论开始时间" HtmlEncode=false DataFormatString="{0:yyyy-MM-dd}"></asp:BoundField>
                <asp:BoundField DataField="ENDDATE" HeaderText="理论结束时间" HtmlEncode=false DataFormatString="{0:yyyy-MM-dd}"></asp:BoundField>
                <asp:BoundField DataField="DAYS" HeaderText="时长" ></asp:BoundField>                                      
                <asp:BoundField DataField="WITHNO" HeaderText="合班" ></asp:BoundField>
                <asp:TemplateField HeaderText="团组资料">
                    <ItemTemplate>
                        <div>                               
                            <asp:Label ID="lblOrgName" runat="server" Text='<%#Eval("OrgNameAndTraineeNo") %>'></asp:Label>
                        </div>
                    </ItemTemplate>
               </asp:TemplateField>
               <asp:BoundField DataField="Remark" HeaderText="备注" ></asp:BoundField>                                   
            </Columns>
        </asp:GridView>
     </td>          
    </tr>     

    </table>

     

    //备注:

    texts += $(this).parent().attr("title") + ";";

    //解决CheckBox为服务器控件的问题,通过取得当前CheckBox对象的父对象的title属性来取得保存在其中的ID值,因为服务器CheckBox不支持value属性

    在页面每一个CheckBox被解析为,在外面包了一个<span></span>作为它的父对象

    <span name="chkClass" title="fde867e6-6f95-47cf-aab8-8f25c4695e37">
             <input id="ctl00_SmartComContentPlace_gvClassInfoList_ctl02_chkClass" type="checkbox"  name="ctl00$SmartComContentPlace$gvClassInfoList$ctl02$chkClass" />
    </span>

     

    另外JQuery有用的几个方法有如下:

    1、children

    这个函数得到一组元素的直接子级。

    如: $('.rating').children('.on')

     

    2、filter

    这个函数通过传递的选择表达式从一个集合中过滤元素。任何不匹配这个表达式的元素将从选择的集合中移除

    如::$('.star').filter('.on')

     

    3、not

    与filter恰恰相 反,not()从集合中移除匹配的元素。

    $('.star').not(':even')

     

    4、add

    如果我们想在集合中增加一些元素怎么办?add()函 数正是做这件事的。

    $('.star').add('.photo')

     

    6、parent

    parent()函数选取一系列元素的直接父级。

    $('.start:first').parent()

    7、parents

    这是复数形式,parents()选 择集合的所有祖先元素。我的意思是所有祖先元素包括直接父级到“body”和“html”元素。所以最好通过传递表达式缩小选择结果。

    通过给parents()传 递.container参数,div.container将被选中,它实际上第一个star的祖父。

    $('.star).parents('.container')

    8、siblings

    这个函数选择一组元素的所有兄弟姐妹,传递一个表达式可以筛选结果。

    9、prev & prevAll

    prev()函数选择前一个兄弟节点。prevAll()选择一个元素集合前面所有的兄弟节点。

    $('.rating:nth-child(3)').prevAll()//第三个节点前的兄弟节点被选中

    10、next & nextAll

    这些函数与prev和prevAll工作方式相同,不过它选择的是下一个兄弟姐妹。

    $('.rating:nth-child(3)').nextAll()//第三个节点后的兄弟节点被选中

    $('.star').click(function(){

             $(this).addClass('on');

    //       如何取得当前对象的 父级?

             $(this).parent().addClass('rated');

    //       如何获得当前对象左 侧的star?

             $(this).prevAll().addClass('on');

             $(this).nextAll().removeClass('on');

    });

    以上10个函数链接:http://www.chinaz.com/Program/XML/033011015R010.html

    另外如下:

    〈body〉
    〈div id=“one“〉
    〈div id=“two“〉hello〈/div〉
    〈div id=“three“〉
       〈p〉〈a href=“#“〉tonsh〈/a〉〈/p〉
    〈/div〉
    〈/div〉

    $(”a”).parent()将会得到父对象〈p〉
    $(”a”).parents()得到父对象为〈p〉〈div.3〉〈div.1〉
    $(”a”).parents().filter(”div”)将得到〈div.3〉〈div.1〉,还可以写成$(”a”).parents(”div”)。

    如果想的到〈div.2〉对象可以写成这样:$(”a”).parents(”div:eq(0)”)。

    如果需要点击〈a〉链接时弹出〈div.2〉中的内容,就这么办:

    var id=$(“a“).parents(“div:eq(1)“).children(“div:eq(0)“).html();
    alert(id);

  • 相关阅读:
    JavaWeb servlet过滤器
    JavaWeb--jsp九大内置对象完整总结
    response.getWriter()和jsp中的out对象的区别
    JavaWeb基础(jsp初识)
    Oracle 存储过程的基本语法 及注意事项
    PLSQL编程基础 :分支、循环语句
    oracle数据库的高级查询方法 多表联合查询
    oracle中 SQL语句 经典练习题
    git 拉取远程分支报错(fatal: '' is not a commit and a branch '' cannot be created from it)
    根据端口号查询进程并杀掉被占用的进程
  • 原文地址:https://www.cnblogs.com/hxwzwiy/p/2418587.html
Copyright © 2011-2022 走看看