Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取具有特定值的元素,使其处于选中状态_Javascript_Jquery_Html - Fatal编程技术网

Javascript 获取具有特定值的元素,使其处于选中状态

Javascript 获取具有特定值的元素,使其处于选中状态,javascript,jquery,html,Javascript,Jquery,Html,我有一个带有此禁用的select元素的表单(我使用jquery禁用了它) 您并不需要jQuery来实现这一点,因此这里有一个简单的老JavaScript解决方案 声明此函数: function setOptionByValue(select, value){ var options = select.options; for(var i = 0, len = options.length; i < len; i++){ if(options[i].textC

我有一个带有此禁用的select元素的表单(我使用jquery禁用了它)


您并不需要jQuery来实现这一点,因此这里有一个简单的老JavaScript解决方案

声明此函数:

function setOptionByValue(select, value){
    var options = select.options;
    for(var i = 0, len = options.length; i < len; i++){
        if(options[i].textContent === value){
            select.selectedIndex = i;
            return true; //Return so it breaks the loop and also lets you know if the function found an option by that value
        }
    }
    return false; //Just to let you know it didn't find any option with that value.
}

jQuery解决方案使用:


如果您想使用jQuery完成任务,请尝试以下操作

$('#ifacility').find('option:contains("Room 2")').prop('selected', true);

它通过文本查找选项并设置其选定属性。

值是否更改,或者房间2将始终具有值3?@Karl AndréGagnon否,其数据来自后端。谢谢她要求jquery,然后你提供了过度膨胀的javascript。“过度膨胀的javascript”你知道这句话有多错吗?“过度膨胀的javascript”=jQuery@eg_dac提供的答案是,与使用jQuery相比,规模更小,效率更高。这可能不是OP在一天结束时使用的,但它是有用的、正确的,并且可能会教OP一些其他的东西(更不用说其他在这里绊倒的人了)。他已经在使用jquery了。。。那么,3条线路的效率如何低于11条线路呢。我真的很喜欢你们一个字都想不过去的样子哈哈哈。你实际上忘了他已经用过jquery了。我从来没有听说过
[text=something]
<代码>[]=属性选择器。文本不是属性,因此不能用作
function setOptionByValue(select, value){
    var options = select.options;
    for(var i = 0, len = options.length; i < len; i++){
        if(options[i].textContent === value){
            select.selectedIndex = i;
            return true; //Return so it breaks the loop and also lets you know if the function found an option by that value
        }
    }
    return false; //Just to let you know it didn't find any option with that value.
}
setOptionByValue(document.getElementById('ifacility'), 'Room 2');
var room2 = $('#ifacility option').filter(function() { 
    return $(this).text() == 'Room 2';
});

// room2.val() = '3'
$('#ifacility').val(room2.val());
$('#ifacility').find('option:contains("Room 2")').prop('selected', true);