欢迎光临
我们一直在努力

jquery获取select选中的值和文本

误区:

一直以为jquery获取select中option被选中的文本值,是这样写的:

$(“#s”).text();  //获取所有option的文本值

实际上应该这样:

$(“#s option:selected”).text();  //获取选中的option的文本值

获取select中option的被选中的value值,

$(“#s”).val();

$(“#s option:selected”).val();

js获取select选中的值:

var sel=document.getElementById(“select1”);

var index = sel.selectedIndex; // 选中索引

albumid= sel.options[index].value;//要的值

 

jquery获取select选择的文本与值
获取select :
获取select 选中的 text :

$("#ddlregtype").find("option:selected").text();

获取select选中的 value:

$("#ddlregtype ").val();

 

获取select选中的索引:

$("#ddlregtype ").get(0).selectedindex;

设置select:
设置select 选中的索引:

$("#ddlregtype ").get(0).selectedindex=index;//index为索引值

设置select 选中的value:

$("#ddlregtype ").attr("value","normal“);
$("#ddlregtype ").val("normal");
$("#ddlregtype ").get(0).value = value;

设置select 选中的text:

    var count=$("#ddlregtype option").length;
    for(var i=0;i<count;i++)
    { if($("#ddlregtype ").get(0).options[i].text == text)
    {
        $("#ddlregtype ").get(0).options[i].selected = true;
        break;
    }
    }
    $("#select_id option[text='jquery']").attr("selected", true);

设置select option项:

$("#select_id").append("<option value='value'>text</option>"); //添加一项option
$("#select_id").prepend("<option value='0'>请选择</option>"); //在前面插入一项option
$("#select_id option:last").remove(); //删除索引值最大的option
$("#select_id option[index='0']").remove();//删除索引值为0的option
$("#select_id option[value='3']").remove(); //删除值为3的option
$("#select_id option[text='4']").remove(); //删除text值为4的option

清空 select:

$("#ddlregtype ").empty();

工作需要,要获得两个表单中的值。如图:

如何获得从左边选择框添加到右边选择框中的值?我想了想用网页特效可以获得,这里用了比较流行的jquery。
js代码如下:

    //获取所有属性值 var item = $("#select1").val();
    $(function(){
        $('#select1').each( //获得select1的所有值
            function(){
                $('button').click(function(){
                    alert($('#select2').val()); //获得select2中的select1值
                });
            });
    })

值得注意的是,不能直接写成

    $(function(){
        $('#select2').each( //获得select1的所有值,因为前面讲选项从左边添加到右边,jquery其实并没有真正将值从左边传到右边。
            function(){
                $('button').click(function(){
                    alert($(this).val()); //获得select2中的select1值
                });
            });
    })

html:

<div class="centent">
    <select multiple="multiple" id="select1" name="dd" style="width:100px;height:160px;">
        <option value="1">选项1</option>
        <option value="2">选项2</option>
        <option value="3">选项3</option>
        <option value="4">选项4</option>
        <option value="5">选项5</option>
        <option value="6">选项6</option>
        <option value="7">选项7</option>
    </select>
    <div>
        <span id="add" >选中添加到右边&gt;&gt;</span>
        <span id="add_all" >全部添加到右边&gt;&gt;</span>
    </div>
</div>
<div class="centent">
    <select multiple="multiple" id="select2" name="sel" style="width: 100px;height:160px;">
    </select>
    <div>
        <span id="remove">&lt;&lt;选中删除到左边</span>
        <span id="remove_all">&lt;&lt;全部删除到左边</span>
    </div>
</div>

使用JQuery,Ajax调用动态填充Select的option选项

    //绑定ClassLevel1单击事件
    $("#ClassLevel1").change(function () {
        var id = $("#ClassLevel1").val();
        var level2 = $("#ClassLevel2");
        level2.empty();
        $("#ClassLevel3").hide();
        $.ajax({
            url: "./askCommon.ashx?action=getclasslevel&pid=" + id,
            data: { "type": "ajax" },
            datatype: "json",
            type: "get",
            success: function (data) {
                var json = eval_r(data);
                for (var ind in json) {
                    level2.append($("<option value='" + json[ind].id + "'>" + json[ind].typename + "</option>"));
                }

            }
        });
    })

使用实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>下拉框,多选框选择</title>
    <script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.js"></script>
</head>
<body>
<input type="button" value="使单选下拉框的'2号'被选中"/><br>
<input type="button" value="使多选下拉框选中的'2号'和'5号'被选中"/><br>
<input type="button" value="使复选框的'复选2'和'复选4'被选中"/><br>
<input type="button" value="使单选框的'单选2'被选中"/><br>
<input type="button" value="打印已经被选中的值"><br>
<br/>

<select id="one">
    <option>1号</option>
    <option>2号</option>
    <option>3号</option>
</select>

<select id="many" multiple="multiple" style="height:120px;">
    <option selected="selected">1号</option>
    <option>2号</option>
    <option>3号</option>
    <option>4号</option>
    <option>5号</option>
    <option selected="selected">6号</option>
</select>

<br/>
<br/>

<input type="checkbox" name="c" value="check1"/> 复选1
<input type="checkbox" name="c" value="check2"/> 复选2
<input type="checkbox" name="c" value="check3"/> 复选3
<input type="checkbox" name="c" value="check4"/> 复选4
<br/>
<input type="radio" name="r" value="radio1"/> 单选1
<input type="radio" name="r" value="radio2"/> 单选2
<input type="radio" name="r" value="radio3"/> 单选3
</body>
<script language="JavaScript">
    $("input[type=button]:eq(0)").click(function () {
        //方法一
        //$("#one option:eq(1)").prop("selected", true);
        //方法二
        $("#one").val("2号");
    })
    $("input[type=button]:eq(1)").click(function () {
        //方法一
        /*        $("#many option").each(function (index, domEle) {
                        $(domEle).prop("selected", false);
                        if (index == 1 | index == 4) {
                            $(domEle).prop("selected", true);
                        }
                    }
                );*/
        //方法二
        $("#many").val(["2号", "5号"]);
    })

    $("input[type=button]:eq(2)").click(function () {
        //方法一
        /*        $("input[type=checkbox]").each(function (index, domEle) {
                    if (index == 1 | index == 3) {
                        $(domEle).prop("selected", true);
                    }
                })*/

        //方法二
        $("input[type=checkbox]").val(["check2", "check4"]);
    });

    $("input[type=button]:eq(3)").click(function () {
        //方法一
        /*        $("input[type=radio]").each(function (index, domEle) {
                    if (index == 1) {
                        $(domEle).prop("checked", true);
                    }
                });*/
        //方法二
        //$("input[type=radio]:eq(1)").prop("checked", true);
        //方法三
        $("input[type=radio]").val(["radio2"]);
    });

    //打印已经被选中的值
    $("input[type=button]:eq(4)").click(function () {
        var valArr = new Array;
        $("select option:selected").each(function (index, domEle) {
            valArr[index] = $(domEle).text();
        });
        var valarr2 = new Array;
        //$("input[type=checkbox][type=radio] :checked")
        $("input:checked").each(function (index, domEle) {
            valarr2[index] = $(domEle).val();
        });

        var vals = valArr.join('\n');//换行显示
        var vals2 = valarr2.join('\n')//
        alert("select选中的值为:\n" + vals + "\n checkbox和radion选中的值为\n " + vals2);
    });


</script>

</html>

 

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » jquery获取select选中的值和文本

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址