尝试在javascript中执行简单的str_replace(),我似乎无法弄清楚它为什么不起作用。我正在制作一个表单,在注册时用户可以选择一个国家,并自动加载该国家/地区的正确标志。在您选择名称中包含空格的国家/地区之前,一切正常。旗帜图像使用 - 代替空间。帮助...
Javascript代码:
$flagimg = '<img id="current_flag" name="current_flag" src="images/icons/flags/United-States.png" width="20px" />';
<script type="text/javascript">
function LoadFlag(FlagName) {
var oFlag = window.document.getElementById("country");
var sFlagImg = oFlag.options[oFlag.selectedIndex].value;
window.document.getElementById(FlagName).src = "images/icons/flags/" + sFlagImg + ".png";
}
</script>
HTML代码:
<select id="country" name="country" onchange="javascript: LoadFlag('current_flag');"><?php echo getCountries(); ?></select> <?php echo $flagimg; ?>
我在哪里放str_replace()?
我试过了:
window.document.getElementById(FlagName).src = "images/icons/flags/" + str_replace(' ', '-', sFlagImg) + ".png";
它不起作用。
图片名称:
United-States.png
United-Kingdom.png
选择框选项值:
United States
United Kingdom
答案 0 :(得分:0)
在这里找到答案“Replace all spaces in a string with '+'”抱歉浪费时间。
window.document.getElementById(FlagName).src = "images/icons/flags/" + sFlagImg.split(' ').join('-') + ".png";
解决了!