【js】selector小记

26 篇文章 0 订阅
22 篇文章 0 订阅

当selector值改变时,显示改后的option值:

<select id="seletor" onChange="route()">
	<option value="0">A</option>
	<option value="1">B</option>
	<option value="2">C</option>
</select>

function route(){
        var selector = document.getElementById("seletor");	
        var text = selector.options[selector.selectedIndex].text;
        var value = selector.options[selector.selectedIndex].value;
        alert(value + ":" + text);
}

PS:   jQuery中:

var text = $("#selector")[0].options[$("#selector")[0].selectedIndex].text

select选中给定option text值的option(js换select选中的option项):

最终版:
var selectVal = $("select#e-role option:contains(" + roleName + ")").val();
$("#e-role").val(selectVal);

代码说明:

jquery选择器 elem:contains(text)表示选择包含有text内容的所有elem元素,所以整个选择器表示选择id为e-role的select元素的子元素option,且option中包含roleName字符串,即根据option text或value来选择相应的option。

将select的value,即选中项value,赋值为目标option的value即可。


错误代码:
一开始用的如下,一是find option找不到;二是.attr("selected", true)设置后,select不会控制selected option唯一性,所以需要手动全部设false,但是又出现问题,显示的选中项和代码中selected并不一样,控制台看了一下,发现select.val()是默认第一个,于是弃用,改为设置val值。

// $("#e-role").find("option[text="+row.role+"]").attr("selected",true);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值