如何使用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 "'}";
}