• 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;

  • 相关阅读:
    gym 101480 Problem C: Cow Confinement 题解
    Uva 1072 Huffman Codes 题解
    NERC 2015 Hypercube 题解
    ACM ICPC 2017 WF Problem J Son of Pipe Stream题解
    CF Round # 295 (Div. 1)题解
    CF 1444 D Rectangular Polyline 题解
    BZOJ3308 九月的咖啡店
    BZOJ4025 二分图
    BZOJ4000 [TJOI2015]棋盘
    BZOJ3999 [TJOI2015]旅游
  • 原文地址:https://www.cnblogs.com/sily-boy/p/4758471.html
Copyright © 2020-2023  润新知