首页 > 解决方案 > 未捕获的错误、语法错误、无法识别的表达式 [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)

谁能帮我解决这个问题?谢谢

标签: javascriptjquery

解决方案


您的选择器是错误的,因为这不是您生成选择器来查看值的方式。甚至没有理由这样做。只需获取选定的选项。

var role = $("#cust_name option:selected").attr('role'); 

或者

var role = $(this).find("option:selected").attr('role'); 

推荐阅读