Javascript 分割功能无法正常工作
我正在尝试从多个选择中捕获所选项目,以便将它们插入到另一个选择输入中。问题是,当我尝试使用Javascript 分割功能无法正常工作,javascript,jquery,split,jquery-events,Javascript,Jquery,Split,Jquery Events,我正在尝试从多个选择中捕获所选项目,以便将它们插入到另一个选择输入中。问题是,当我尝试使用split函数拆分所选元素时,控制台会抛出下一个错误:uncaughttypeerror:strValue.split不是一个函数 HTML 事件外所有操作正常,但不在事件内。返回选择[多个]元素的值数组 从文档中: .val()方法主要用于获取表单元素的值,例如输入、选择和文本区域在select元素的情况下,如果未选择任何选项,则返回null,如果至少有一个选项,则返回一个包含每个选项值的数组,并且可以选
split
函数拆分所选元素时,控制台会抛出下一个错误:uncaughttypeerror:strValue.split不是一个函数
HTML
事件外所有操作正常,但不在事件内。返回选择[多个]
元素的值数组
从文档中:
.val()
方法主要用于获取表单元素的值,例如输入
、选择
和文本区域
在select
元素的情况下,如果未选择任何选项,则返回null
,如果至少有一个选项,则返回一个包含每个选项值的数组,并且可以选择更多选项,因为存在multiple
属性。
(强调矿山)
这意味着你对
//这给出的字符串“cost,Back”
是不正确的,因为你实际上得到了一个数组,你可能正在将其转换为字符串(使用alert
?)你已经得到了一个值数组,原因是在选择选项中你可以允许多个选择,使用select
元素上的multiple
属性,您就可以得到它。所以值总是以数组的形式返回,否则返回多个值会更好
因此无需拆分,它已经是一个数组。Multiple select返回一个数组而不是字符串
$("#e9").change(function(){
var strValues = $(this).val(); // This gives you the string "Chest,Back"
alert(strValues[0]);
alert(strValues[1]);
});
.val()
返回所选元素的数组。因此,您不需要使用split
函数。数组元素显示为,
的字符串连接。你可能不明白 //这会给你一个字符串“cost,Back”或未定义的
…你为什么认为.val()
会给这个字符串“cost,Back”
?
$("#e9").change(function(){
var strValues = $(this).val(); // This gives you the string "Chest,Back"
var arrValues = strValues.split(",");
});
$("#e9").change(function(){
var strValues = $(this).val(); // This gives you the string "Chest,Back"
alert(strValues[0]);
alert(strValues[1]);
});