jQuery给val()赋值数组时报Invalid left-hand side错误原因
报错原因说明
这个错误是赋值语句的左侧使用了不可被赋值的表达式导致的,具体问题出在jQuery val()方法的用法错误:
- jQuery的
val()方法存在两种使用逻辑:- 不带参数调用
val()时,方法会返回当前匹配元素的value值,属于只能读取的临时返回值,不支持被赋值,只能放在=运算符的右侧使用 - 要给元素设置value值时,需要将目标值作为参数传入
val()方法,语法为$(选择器).val(要设置的目标值)
- 不带参数调用
你原来的写法$('#numeroComercioPillbox').val() = comerciosAMostrar里,=左侧是val()执行后返回的临时值,不属于可写入的变量/属性,JS引擎无法执行赋值操作,因此抛出Invalid left-hand side in assignment错误。
正确写法
$('#numeroComercioPillbox').val(comerciosAMostrar)
补充说明:如果你的选中元素是支持多值的表单组件(比如多选下拉框、多选项pillbox),直接传入数组即可正常解析赋值;如果是普通单行输入框,jQuery会自动将数组转为逗号分隔的字符串进行赋值。
内容的提问来源于stack exchange,提问作者okjfokjrf
相关产品推荐
相关产品推荐

