javascript(jquery)对select的option元素的操作

本文是对select操作  文中提到了一个select可以选多个option(win系统配合ctrl或者shift键、man配合command键) 需要给select添加一个关键字属性:multiple,multiple属性是select独有属性 更多关于此属性信息请查阅手册

特别提醒:如果要复制本文代码在自己本机测试 请不要忘了添加jquery库

html代码如下:

<select name="" multiple="multiple">  <!--添加上multiple属性就可以在select中选多个option了,multiple是select独有的属性-->
    <option value="1" ondblclick="get_option_data(this);">php</option>
    <option value="2">python</option>
    <option value="3">javascript</option>
</select>
//添加选中的option元素
function add_elements()
{
    $("select[name='source_select1']").find("option:selected").each(function(){
        var val  = $(this).val();    //当前循环遍历所对应的option的value值
        var text = $(this).text();   //当前循环遍历所对应的option的文本值

        //拼接生成最终的option
        var append_element = "<option"+" value="+val+">"+text+"</option>";  

        //console.log(append_element);
        
        //使用jquery方式给name为target_select1[]的select追加option
        $("select[name='target_select1[]']").append(append_element);

    })
}


//双击添加选中的option   注意:双击事件的关键字:ondblclick    点击事件(单击事件)的关键字是:onclick    onclick对应jquery中的click
function get_option_data(obj)
{
    var text = obj.text;  //当前option的文本值
    var val  = obj.value;  //当前option的value值

    //追加
    var append_element = "<option"+" value="+val+">"+text+"</option>";
    $("select[name='target_select1[]']").append(append_element);  //追加到此select中

}


//删除选中的option
function remove_elements()
{
    $("select[name='target_select1[]']").find("option:selected").each(function(){
    
        var val = $(this).val();   //当前循环遍历所对应的option的value值
        
        $("select[name='target_select1[]'] option[value="+val+"]").remove();   //删除value中为val的option元素
    })

}

以上使用了javascript和jquery混合编写代码(相信大家知道哪些是jquery代码哪些是javascript原生代码 如分不清 请前去补jquery基础)


下面附上jquery操作select下拉列表的一些常用操作:

jquery获取select选择的text和value: 

代码如下:

$("#select_id").change(function(){//code...}); //为select添加事件,当选择其中一项时触发 

var checkText=$("#select_id").find("option:selected").text(); //获取select选择的text 

var checkValue=$("#select_id").val(); //获取select选择的value 

var checkIndex=$("#select_id ").get(0).selectedIndex; //获取select选择的索引值 

var maxIndex=$("#select_id option:last").attr("index"); //获取select最大的索引值 

jquery添加/删除select的option项:

代码如下:

$("#select_id").append("<option value='Value'>Text</option>"); //为select追加一个Option(下拉项) 

$("#select_id").prepend("<option value='0'>请选择</option>"); //为select插入一个Option(第一个位置) 

$("#select_id option:last").remove(); //删除select中索引值最大option(最后一个) 

$("#select_id option[index='0']").remove(); //删除select中索引值为0的option(第一个) 

$("#select_id option[value='3']").remove(); //删除select中value='3'的option 

$("#select_id option[text='4']").remove(); //删除select中text='4'的option 


声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复12人评论7,777人参与