select 获取设置文本

本文详细介绍了使用jQuery获取和设置select元素的方法,并通过实际案例展示了如何使用jQuery实现表单元素之间的交互,包括获取select元素的选择文本、值、索引等,以及设置select元素的索引、值、文本等。同时,还提供了如何动态添加、删除、修改select元素的选项,并清空select元素的功能。最后,通过实例展示了如何通过按钮触发事件,实现从一个select元素向另一个select元素传递选择的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery取得select选择的文本与值 (2011-05-27 17:19:00)转载▼ 
标签: 杂谈 分类: JS 
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值 
            }); 
         }); 
    }) 
    </script> 

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

    $(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>")); 
                    } 
    
                } 
            }); 
        }) 
### Element UI `el-select` 组件获取选中文本 对于希望从 `el-select` 组件中获取所选项目的文本标签,可以通过访问组件实例并读取其内部状态实现这一目标。具体来说,在模板定义时给 `<el-select>` 设置一个引用名称(通过 `ref` 属性),之后便可以在 JavaScript 方法里利用 `$refs` 来访问该组件实例及其属性。 当需要取得已选项的文本(`label`)而非仅仅是它的(`value`)时,应当注意正确配置组件以及合理运用 Vue 的响应式特性与生命周期钩子[^1]: ```html <template> <div> <!-- 定义 select 并指定 ref --> <el-select v-model="selectedValue" ref="mySelectRef" placeholder="请选择"> <el-option v-for="(item, index) in optionList" :key="index" :label="item.label" :value="item.value"> </el-option> </el-select> <!-- 显示选中的 label --> <p>您选择了: {{ selectedLabel }}</p> </div> </template> <script> export default { data() { return { selectedValue: '', selectedLabel: '', // 存储选中的 label optionList: [ { value: 'option1', label: '黄金糕' }, { value: 'option2', label: '双皮奶' } ] }; }, watch: { selectedValue(newValue) { this.updateSelectedLabel(newValue); } }, methods: { updateSelectedLabel(value) { const selectedItem = this.optionList.find(item => item.value === value); if (selectedItem) { this.selectedLabel = selectedItem.label; } else { this.selectedLabel = ''; } } } }; </script> ``` 上述代码展示了如何监听 `v-model` 绑定的数据变化,并据此更新页面上显示的选择项文字描述。每当用户做出新的选择时,都会触发相应的 watcher 函数去寻找匹配的对象从而得到完整的 `label` 字符串。 另外需要注意的是,如果想要直接操作 DOM 或者更深入地了解底层细节,则可能需要用到 `this.$refs.mySelectRef.selected.label` 这样的方式来获取当前被激活条目的具体内容。不过通常推荐的做法还是遵循 Vue 的双向绑定机制来进行开发工作,这样可以使代码更加简洁易维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值