Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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_Html Select - Fatal编程技术网

使用javascript变量设置下拉列表的选定值

使用javascript变量设置下拉列表的选定值,javascript,jquery,html,html-select,Javascript,Jquery,Html,Html Select,我正在使用JQuery创建动态下拉框(在第二个下拉框中选择第一个下拉过滤器选项)。我正在尝试为一个反向用例创建一个检查(选择第二个下拉列表将强制第一个下拉列表中的相关选择) 我以前曾使用此代码成功设置活动值: $("#department option[value='Other']").prop('selected', true); 现在,我正在尝试做与上面相同的事情,但是使用变量值而不是硬编码值。这是我目前掌握的代码: var selected_campus = $("#college")[

我正在使用JQuery创建动态下拉框(在第二个下拉框中选择第一个下拉过滤器选项)。我正在尝试为一个反向用例创建一个检查(选择第二个下拉列表将强制第一个下拉列表中的相关选择)

我以前曾使用此代码成功设置活动值:

$("#department option[value='Other']").prop('selected', true);
现在,我正在尝试做与上面相同的事情,但是使用变量值而不是硬编码值。这是我目前掌握的代码:

var selected_campus = $("#college")[0].options[$("#college")[0].selectedIndex].text.split(":",1).toString();
$("#campus option[value=selected_campus]").prop('selected', true);

第一行工作正常,所需值成功存储在
selected\u
中。但是,第二行没有。如何将
#campus
的选定值设置为
选定的#campus

您已经接近了;您只需使用
+
和单引号
'
符号将所选变量
与选择器(字符串)连接起来,如:

$("#campus option[value='"+selected_campus+"']").prop('selected', true);
________________________^_^_______________^_^
而不是:

$("#campus option[value=selected_campus]").prop('selected', true);

希望这有帮助。

您需要将变量替换为代码:

$("#campus option[value='" + selected_campus + "']").prop('selected', true);

如果值中有空格或其他字符,则需要使用单引号

注意
split
返回一个数组,并将该数组强制为字符串。它起作用的唯一原因是,您添加了一个限制,因此始终可以在数组中获得单个项,并且字符串化该数组会返回预期的结果。我认为像
split(':').shift()这样的东西是更好的选择?使用一些数据属性来识别选项会更好。@adeneo感谢您的反馈。我还是个新手,所以我没有意识到shift(),它似乎正是我所需要的!这整条线路看起来很不确定,可能有更好的方法将选项绑定到某种系统中