javascript - 未捕获的错误、语法错误、无法识别的表达式 [JQUERY]
问题描述
我有这样的看法:
<select class="form-control" id="cust_name" name="cust_name">
<option value="" class="adr" role=""> </option>
<?php foreach ($groups as $each) { ?>
<option value="<?php echo $each->cust_name; ?>" class="adr<?php echo $each->cust_name; ?>" role="<?php echo $each->cust_address; ?>"><?php echo $each->cust_name; ?></option>';
<?php } ?>
</select>
<div>
<textarea id="address" name="address"></textarea>
</div>
这里是我的 js:
<script>
$('#cust_name').change(function(){
var m = (this.value);
var n = $('.adr' + m).attr('role');
$('#address').val(n);
return false;
});
</script>
我想根据组合框中的客户名称选择显示地址,它在我的本地主机上一切正常,但是当我将它放入 Live 服务器时,当我更改选择值时它总是返回此错误:
未捕获的错误:语法错误,无法识别的表达式:.adrFAJAR SEPTIAN,BPK。
在 Function.ga.error (jquery.js:2)
在 ga.tokenize (jquery.js:2)
在 ga.select (jquery.js:2)
在 Function.ga [as find] (jquery.js:2)
在 r.fn.init.find (jquery.js:2)
在新的 r.fn.init (jquery.js:2)
在 r (jquery.js:2)
在 HTMLSelectElement。(仪表板:253)
在 HTMLSelectElement.dispatch (jquery.js:3)
在 HTMLSelectElement.q.handle (jquery.js:3)
谁能帮我解决这个问题?谢谢
解决方案
您的选择器是错误的,因为这不是您生成选择器来查看值的方式。甚至没有理由这样做。只需获取选定的选项。
var role = $("#cust_name option:selected").attr('role');
或者
var role = $(this).find("option:selected").attr('role');
推荐阅读
- awk - 使用 awk 打印已排序的输出以避免管道排序命令
- c# - FluentAssertions 对象图比较,包括 JSON 对象
- c++ - C++ 替代 rust 的 proc 宏
- amazon-web-services - 29 秒后 Lambda 超时,无法在 CloudWatch 日志中找到请求 ID
- python - 如何在给定条件下递归地为绘图文本添加一行代码
- flutter - 该应用程序可以使用 Firebase 进行生物识别登录吗?
- sql - SQL Server:从 URL 文本文件中读取数据
- r - lpSolve - “不能在一起”约束?
- progressive-web-apps - 如何将返回和刷新按钮添加到 PWA 标题栏
- python - 具有多个 DOCTYPE 声明的 XML