假设有一个HTML表单元素:
<select id='mydropdown'>
<option value='foo'>Spam</option>
<option value='bar'>Eggs</option>
</select>
我知道我可以使用以下代码选择第一个选项:
document.getElementById("mydropdown").value='foo'
然而,假设我有一个值为“Spam”的变量,我是否可以通过文本而不是值来选择下拉菜单项?
假设有一个HTML表单元素:
<select id='mydropdown'>
<option value='foo'>Spam</option>
<option value='bar'>Eggs</option>
</select>
我知道我可以使用以下代码选择第一个选项:
document.getElementById("mydropdown").value='foo'
然而,假设我有一个值为“Spam”的变量,我是否可以通过文本而不是值来选择下拉菜单项?
var desiredValue = "eggs"
var el = document.getElementById("mydropdown");
for(var i=0; i<el.options.length; i++) {
if ( el.options[i].text == desiredValue ) {
el.selectedIndex = i;
break;
}
}
document.getElementById("mydropdown").text = 'Eggs';
function go(){
var dropdown = document.getElementById('mydropdown');
var textSelected = 'Spam';
for(var i=0, max=dropdown.children.length; i<max; i++) {
if(textSelected == dropdown.children[i].innerHTML){
alert(textSelected);
return;
}
}
}
旧版IE不会将选择的选项作为子节点处理,但所有浏览器都实现了选择选项集合的文本属性。
function selectbytext(sel, txt){
if(typeof sel== 'string'){
sel= document.getELementById(sel) || document.getELementsByName(sel)[0];
}
var opts= sel.options;
for(var i= 0, L= opts.length; i<L; i++){
if(opts[i].text== txt){
sel.selectedIndex= i;
break;
}
}
return i;
}
if (jQuery.trim(ddlc.options[i].text) == jQuery.trim(result)) { alert("已输入所需内容"); var insertedtimeid = i $("#ddlCategory").val(insertedtimeid).trigger('updated').trigger('change'); break; }
} - clarifier