js设置select列表中特定项为选中状态

本文介绍了一个JavaScript函数,用于在HTML的下拉选择框(select)中根据指定的文本内容自动设置选项。通过遍历所有选项并匹配文本内容来实现。
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

设置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中 不存在该项");
}
}

http://www.corange.cn/archives/2008/10/2117.html

### jQuery Select Change Event 后下拉框赋值失效原因分析 当遇到 `select` 元素的 `change` 事件触发后,尝试给该元素重新赋值却未生效的情况时,通常有几种可能的原因: #### 可能原因一:事件绑定顺序不当 如果在 DOM 尚未完全加载之前就绑定了 `change` 事件监听器,则可能导致后续操作无法正常执行。应确保所有的 JavaScript 或者 jQuery 的初始化代码都在文档准备完毕之后再运行。 ```javascript $(document).ready(function(){ $('#mySelect').on('change', function () { // 更改后的逻辑处理... }); }); ``` #### 可能原因二:选择器匹配不精确 确认用于选取目标 `select` 元素的选择器是否准确无误。错误的选择器可能会导致找不到对应的 HTML 元素从而使得任何对其的操作都无效[^1]。 #### 可能原因三:数据源问题 检查用来更新选的数据是否存在格式上的问题或是为空。例如,在动态生成 `<option>` 标签的过程中可能出现拼写错误或者其他语法失误。 #### 解决方案建议 ##### 方法一:使用 `.prop()` 设置 selected 属性 对于单选或多选类型的 `select` 控件来说,可以利用 jQuery 提供的方法来改变其状态。比如通过设置某个特定为默认选中的方式实现赋值效果。 ```javascript $('#mySelect option[value="theValue"]').prop('selected', true); ``` 这种方法适用于静态页面结构下的简单场景;而对于更复杂的应用程序则推荐采用下面介绍的技术手段。 ##### 方法二:重置整个 select 内容并重建 options 列表 有时直接修改现有选状态并不能达到预期的效果,这时可以选择先清空原有的所有条目然后再逐一添加新的目进去。 ```javascript var newOptions = [ {value:'opt1', text:'Option One'}, {value:'opt2', text:'Option Two'} ]; // 清除旧options $("#mySelect").empty(); $.each(newOptions, function(index, item){ $("#mySelect").append( $("<option>", { value : item.value, text : item.text }) ); }); // 如果需要立即选定某一可继续调用如下语句 $("#mySelect").val("opt2"); ``` 上述方法能够有效解决大部分情况下由于缓存等原因造成的显示异常现象,并且兼容性较好[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值