如何使用jQuery删除最后一个逗号','


how to remove last comma ' , ' with jquery

如何使用jquery删除最后一个逗号','。下面是我的代码jquery幻灯片图像背景,php代码将在javascript中循环图像url,这意味着用户可以在admin中更改图像:

                navigation              :   1,      //Slideshow controls on/off
                thumbnail_navigation    :   1,      //Thumbnail navigation
                slide_counter           :   1,      //Display slide numbers
                slide_captions          :   1,      //Slide caption (Pull from "title" in slides array)
                slides                  :   [       //Slideshow Images
                                                <?php    // this will looping  image background custom - xx_rusly_xx
                                                    $images = getFieldOrder('background_slideshow_image');
                                                        foreach($images as $image){
                                                            echo "{image : '";
                                                            echo get('background_slideshow_image',1,$image);
                                                            echo "'},";
                                                        } 
                                                ?>
                                            ]                           
            }); 
        });
    </script>

如果你看到我为循环图像网址放了一些PHP代码

<?php    // this will looping  image background custom - xx_rusly_xx
$images = getFieldOrder('background_slideshow_image');
    foreach($images as $image){
        echo "{image : '";
        echo get('background_slideshow_image',1,$image);
        echo "'},";
    } 
?>

浏览器将使用PHP生成JavaScript,如下所示:

//Components
        navigation              :   1,      //Slideshow controls on/off
        thumbnail_navigation    :   1,      //Thumbnail navigation
        slide_counter           :   1,      //Display slide numbers
        slide_captions          :   1,      //Slide caption (Pull from "title" in slides array)
        slides                  :   [       //Slideshow Images
        {image : 'http://iconcept-project.com/dev/gd/wp-content/files_mf/1.jpg'},
        {image : 'http://iconcept-project.com/dev/gd/wp-content/files_mf/2.jpg'},
        {image : 'http://iconcept-project.com/dev/gd/wp-content/files_mf/3.jpg'},
        {image : 'http://iconcept-project.com/dev/gd/wp-content/files_mf/4.jpg'},                                                                                                                   ]                           
    }); 
});         
</script>

问题是如何删除最后一行中的逗号,因为使用 Internet Explorer,除了我删除最后一个逗号之外,它不会运行。

{image : 'http://iconcept-project.com/dev/gd/wp-content/files_mf/4.jpg'},

这是完整的代码 --> http://pastebin.com/c1A7ZKGr

感谢您的帮助。

问题不在于你的js脚本,而在于php脚本。这样做:

<?php    // this will looping  image background custom - xx_rusly_xx
$comma = false;
$images = getFieldOrder('background_slideshow_image');
    foreach($images as $image){
        if ($comma) echo ","; else $comma=true;
        echo "{image : '";
        echo get('background_slideshow_image',1,$image);
        echo "'}";
    } 
?>

由于 JSON 在 JavaScript 中评估为有效的对象文字,因此您应该使用 json_encode [docs]

<?php    
    $images = getFieldOrder('background_slideshow_image');
    $out = array();
    foreach($images as $image){
        $out[] = array('image' => get('background_slideshow_image',1,$image));
    } 
    echo json_encode($out);
?>

(您必须删除代码中的周围[...]

使用字符串手动构建文字和代码注定要失败(最终)。

我很好奇。你为什么不在PHP端这样做呢?

<?php    // this will looping  image background custom - xx_rusly_xx
$images = getFieldOrder('background_slideshow_image');
    foreach($images as $ind => $image){
        echo "{image : '";
        echo get('background_slideshow_image',1,$image);
        echo "'}".($ind == count($images)-1 ? '' : ','); // no comma for last image
    } 
?>
​var string = ​'kurec,kur,kureika,'​;
string.substr(0,string.length-1)

http://jsfiddle.net/QVpWU/

JavaScript :

s = s.substring(0, s.length - 1);

或使用json_encode代替自制功能。

你应该在 php 中控制它。

   foreach($images as $i => $image){
        echo $i === 0 ? "" : ",";
        echo "{image : '";
        echo get('background_slideshow_image',1,$image);
        echo "'}";
    }