zoukankan      html  css  js  c++  java
  • jquery操作select下拉列表框

    近日在使用jquery操作select下拉列表框时遇到了一些需要注意的地方,功能是通过点击事件动态复制一个select到table的td中,并利用td包含的文本内容找到对应的select选中项,代码如下:
    HTML:
    <!--下拉框-->
    <select id="stsoft" name="stsoft">
    <option value="1">11</option>
    <option value="2">22</option>
    <option value="3">33</option>
    <option value="4">44</option>
    <option value="5">55</option>
    <option value="6">66</option>
    </select>
    <table id="datatable" border="0" cellpadding="0" cellspacing="0">
          <thead>
    <tr align="left">
          <th>
    行号</th>
    <th>
    软件类型</th>
    <th>
    操作</th>
    </tr>
    </thead>
    <tr id="template">
    <td class="RowId">
    </td>
    <td class="SoftType">
    </td>
    <td class="update">
    </td>
    </tr>
    </table>
    js:
    $(".update").click(function(){
    var soft = $(".SoftType").text();
    $(".SoftType").html($("#stsoft").clone());
          for(var i=0; i<$(".SoftType select option").length; i++){
          if($(".SoftType select")[0].options(i).text== soft){
    $(".SoftType select")[0].selectedIndex = i;
    }
    }
          var  rowId = $(".RowId").text();
    var content='\
    <a href="javascript.:void(0);" nclick="Update('+ rowId +');">更新</a>&nbsp;&nbsp;\
    <a href="javascript.:void(0);" nclick="Cencel('+ rowId +');">取消</a>\
    ';
    $(".update").html(content);
    });
    其他有关select的取值或赋值方式:
    获取select被选中项的文本
    var item = $("select[@name= stsoft] option[@selected]").text();
    select下拉框的第二个元素为当前选中值
    $('#stsoft')[0].selectedIndex = 1;
    获取value值
    $('#stsoft').val();
    设置value=1的项目为当前选中项
    $("#stsoft").attr("value",“1”);
    $('#stsoft').val(“1”);
    --------------------------------------------------------------------
    //获取第一个option的值
    $('#test option:first').val();
    //最后一个option的值
    $('#test option:last').val();
    //获取第二个option的值
    $('#test option:eq(1)').val();
    //获取选中的值
    $('#test').val();
    $('#test option:selected').val();
    //设置值为2的option为选中状态
    $('#test').attr('value','2');
    //设置第一个option为选中
    $('#test option:last').attr('selected','selected');
    $("#test").attr('value' , $('#test option:last').val());
    $("#test").attr('value' , $('#test option').eq($('#test option').length - 1).val());
    //获取select的长度
    $('#test option').length;
    //添加一个option
    $("#test").append("<option value='9'>ff</option>");
    $("<option value='9'>ff</option>").appendTo("#test");
    //添除选中项
    $('#test option:selected').remove();
    //指定项选中
    $('#test option:first').remove();
    //指定值被删除
    $('#test option').each(function(){
    if( $(this).val() == '5'){
    $(this).remove();
    }
    });
    $('#test option[value=5]').remove();
    //获取第一个Group的标签
    $('#test optgroup:eq(0)').attr('label');
    //获取第二group下面第一个option的值
    $('#test optgroup:eq(1)ption:eq(0)').val();
    获取select中选择的text与value相关的值
    获取select选择的Text : var checkText=$("#slc1").find("option:selected").text();
    获取select选择的value:var checkValue=$("#slc1").val();
    获取select选择的索引值: var checkIndex=$("#slc1 ").get(0).selectedIndex;
    获取select最大的索引值: var maxIndex=$("#slc1 option:last").attr("index");
    设置select选择的Text和Value
    设置select索引值为1的项选中:$("#slc1 ").get(0).selectedIndex=1;
    设置select的value值为4的项选中: $("#slc1 ").val(4);
    设置select的Text值为JQuery的选中:
    $("#slc1 option[text='jQuery']").attr("selected", true);
    PS:特别要注意一下第三项的使用哦。看看JQuery的选择器功能是如此地强大呀!
    添加删除option项
    为select追加一个Option(下拉项)
    $("#slc2").append("<option value='"+i+"'>"+i+"</option>");
    为select插入一个option(第一个位置)
    $("#slc2").prepend("<option value='0'>请选择</option>");
    PS: prepend 这是向所有匹配元素内部的开始处插入内容的最佳方式。
    删除select中索引值最大option(最后一个)
    $("#slc2 option:last").remove();
    删除select中索引值为0的option(第一个)
    $("#slc2 option[index='0']").remove();
    删除select中value='3'的option
    $("#slc2 option[value='3']").remove();
    删除select中text='4'的option
    $("#slc2 option[text='3']").remove();

  • 相关阅读:
    java栈的实现复习
    条件判断语句--linux
    转义符&脚本参数--linux
    linux备份脚本-模板
    github的搜索使用技巧
    sonarqube7.9安装部署(linux)
    openjdk与oraclejdk下载
    gitlab重写历史,清理历史大文件
    nexus私服搭建过程
    nexus私服关联本地maven配置
  • 原文地址:https://www.cnblogs.com/xmphoenix/p/2090283.html
Copyright © 2011-2022 走看看