【发布时间】:2016-03-24 19:27:09
【问题描述】:
我有这个代码
<head>
<meta charset="utf-8">
<script src="//code.jquery.com/jquery-2.0.1.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/sunny/jquery-ui.css">
<link rel="stylesheet" href="http://localhost/opencart/preventivo.css">
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
var opzione=$("#tutte_le_macro_opzioni").text().split(" ");
$.each(opzione, function( key, value ) {
$(document).on("change","."+value,function () {
//does something//
});
});
<div id="tutte_le_macro_opzioni"><?php echo "city,country,name"; ?></div>
现在的问题是,当我使用var opzione=$("#tutte_le_macro_opzioni").text().split(" "); 时,它给了我这个问题:
Sizzle.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};
如果我将var opzione=$("#tutte_le_macro_opzioni").text().split(" "); 更改为var opzione="city,country,name",则脚本可以完美运行。在 php 结果后拆分似乎有问题。
有人可以帮帮我吗?
更新
这是我填充 div tutte_le_macro_opzioni 的 php 代码
<?php
$con=mysqli_connect("localhost","root","","test");
$a="";
$query= "SELECT * FROM oc_option_description";
$result=mysqli_query($con,$query);
while($row=mysqli_fetch_array($result)){
$a.=strtolower($row["name"]).",";
}
echo $a;
?>
已解决
我用这个替换了php代码
一行中的所有代码...似乎区分大小写:-)
【问题讨论】:
-
您缺少
document.ready处理程序,这意味着$("#tutte_le_macro_opzioni")是空的,并且您正在迭代的内容与您的想法完全不同,因此"."+value不是jQuery 选择器,并且嘶嘶声引发错误。你可以通过console.log(opzione)自己在 10 秒内弄清楚这一点,看看你有什么。
标签: javascript jquery split each