zoukankan      html  css  js  c++  java
  • Js操作Select大全(取值、设置选中等等)

    jquery操作select(取值,设置选中)

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了。

    比如<select class="selector"></select>

    1、设置value为pxx的项选中

    $(".selector").val("pxx");

    2、设置text为pxx的项选中

    $(".selector").find("option[text='pxx']").attr("selected",true);

    这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。

    3、获取当前选中项的value

    $(".selector").val();

    4、获取当前选中项的text

    $(".selector").find("option:selected").text();

    这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。

    很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。

    如: 

     
    $(".selector1").change(function(){ 
    
    // 先清空第二个 
    
    $(".selector2").empty(); 
    
    // 实际的应用中,这里的option一般都是用循环生成多个了 
    
    var option = $("<option>").val(1).text("pxx"); 
    
    $(".selector2").append(option); 
    
    }); 

    Js操作Select大全

    判断select选项中 是否存在Value="paraValue"的Item
    向select选项中 加入一个Item
    从select选项中 删除一个Item
    删除select中选中的项
    修改select选项中 value="paraValue"的text为"paraText"
    设置select中text="paraText"的第一个Item为选中
    设置select中value="paraValue"的Item为选中
    得到select的当前选中项的value
    得到select的当前选中项的text
    得到select的当前选中项的Index
    清空select的项
    js 代码 

     
    // 1.判断select选项中 是否存在Value="paraValue"的Item 
    function jsSelectIsExitItem(objSelect, objItemValue) { 
    var isExit = false; 
    for (var i = 0; i < objSelect.options.length; i++) { 
    if (objSelect.options[i].value == objItemValue) { 
    isExit = true; 
    break; 
    } 
    } 
    return isExit; 
    } 
    
    // 2.向select选项中 加入一个Item 
    function jsAddItemToSelect(objSelect, objItemText, objItemValue) { 
    //判断是否存在 
    if (jsSelectIsExitItem(objSelect, objItemValue)) { 
    alert("该Item的Value值已经存在"); 
    } else { 
    var varItem = new Option(objItemText, objItemValue); 
    objSelect.options.add(varItem); 
    alert("成功加入"); 
    } 
    } 
    
    // 3.从select选项中 删除一个Item 
    function jsRemoveItemFromSelect(objSelect, objItemValue) { 
    //判断是否存在 
    if (jsSelectIsExitItem(objSelect, objItemValue)) { 
    for (var i = 0; i < objSelect.options.length; i++) { 
    if (objSelect.options[i].value == objItemValue) { 
    objSelect.options.remove(i); 
    break; 
    } 
    } 
    alert("成功删除"); 
    } else { 
    alert("该select中 不存在该项"); 
    } 
    } 
    
    
    // 4.删除select中选中的项 
    function jsRemoveSelectedItemFromSelect(objSelect) { 
    var length = objSelect.options.length - 1; 
    for(var i = length; i >= 0; i--){ 
    if(objSelect[i].selected == true){ 
    objSelect.options[i] = null; 
    } 
    } 
    } 
    
    // 5.修改select选项中 value="paraValue"的text为"paraText" 
    function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) { 
    //判断是否存在 
    if (jsSelectIsExitItem(objSelect, objItemValue)) { 
    for (var i = 0; i < objSelect.options.length; i++) { 
    if (objSelect.options[i].value == objItemValue) { 
    objSelect.options[i].text = objItemText; 
    break; 
    } 
    } 
    alert("成功修改"); 
    } else { 
    alert("该select中 不存在该项"); 
    } 
    } 
    
    // 6.设置select中text="paraText"的第一个Item为选中 
    function jsSelectItemByValue(objSelect, objItemText) { 
    //判断是否存在 
    var isExit = false; 
    for (var i = 0; i < objSelect.options.length; i++) { 
    if (objSelect.options[i].text == objItemText) { 
    objSelect.options[i].selected = true; 
    isExit = true; 
    break; 
    } 
    } 
    //Show出结果 
    if (isExit) { 
    alert("成功选中"); 
    } else { 
    alert("该select中 不存在该项"); 
    } 
    } 
    
    // 7.设置select中value="paraValue"的Item为选中 
    document.all.objSelect.value = objItemValue; 
    
    // 8.得到select的当前选中项的value 
    var currSelectValue = document.all.objSelect.value; 
    
    // 9.得到select的当前选中项的text 
    var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text; 
    
    // 10.得到select的当前选中项的Index 
    var currSelectIndex = document.all.objSelect.selectedIndex; 
    
    // 11.清空select的项 
    document.all.objSelect.options.length = 0; 
  • 相关阅读:
    官方示例之地球模块十:拔高GeoPolygon
    全景虚拟漫游技术实现(three.js vs ThingJS) Javascript 3D开发 前端 物联网 webgl 三维建模 3D模型 虚拟 全景
    一个3D城市地图应用工具,等你获取 3D 全景 可视化
    H5动画优化之路
    CSS3实现气泡效果
    清除浮动方法总结
    静态页面参数传递&回调函数写法&快速排序的实现方法
    使用SeaJS实现模块化JavaScript开发(新)
    《无懈可击的Web设计》_灵活的文字
    深入探究JavaScript中的比较问题
  • 原文地址:https://www.cnblogs.com/chbyl/p/7160321.html
Copyright © 2011-2022 走看看