1

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>

見たら、ループ画像のURLにいくつかの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

手伝ってくれてありがとう。

4

6 に答える 6

2

json_encode JSON は JavaScript で有効なオブジェクト リテラルとして評価されるため、 [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);
?>

(コード内の周囲を削除する必要があり[...]ます)

文字列を使用して手動でリテラルとコードを作成すると、(最終的には) 失敗する運命にあります。

于 2012-05-09T10:18:04.133 に答える
2

問題は 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 "'}";
    } 
?>
于 2012-05-09T10:15:02.110 に答える
1

私は興味がある。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
    } 
?>
于 2012-05-09T10:16:04.713 に答える
1

JavaScript :

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

または自家製関数の代わりにjson_encodeを使用します。

于 2012-05-09T10:16:50.737 に答える
1
​var string = ​'kurec,kur,kureika,'​;
string.substr(0,string.length-1)

http://jsfiddle.net/QVpWU/

于 2012-05-09T10:14:40.847 に答える