Jquery每个问题并拆分问题

Jquery each and split issue

本文关键字:问题 拆分 Jquery      更新时间:2023-09-26

我有这个代码

<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="city,country,name"更改var opzione=$("#tutte_le_macro_opzioni").text().split(" ");,脚本将完美工作。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代码替换为

一行中的所有代码。。。它似乎区分大小写:-)

尝试替换这个:

var opzione=$("#tutte_le_macro_opzioni").text().split(" ");
$.each(opzione, function( key, value ) {
$(document).on("change","."+value,function () {
//does something//
});
});

通过这个:

$(function(){
  var opzione=$("#tutte_le_macro_opzioni").text().split(',');
  $.each(opzione, function( key, value ) {
    $(document).on("change","."+value,function () {
    //does something//
    });
  });
});

由于$("#tutte_le_macro_opzioni").text()包含与"city,country,name"相同的内容,并且它是一个字符串,因此必须在","上进行拆分才能获得$.each()循环的数组。

查看此小提琴