任何人都可以帮我解决一个与javascript和选择有关的问题吗?首先我要做的是当我从图像列表中选择一个图像时我想要获取图像src并将其存储到我可以使用的var现在是我在选择图像时遇到的问题我得到以下src肖像/ 00000 / 00008.jpg现在我需要从src中移除肖像和/和.jpg这样我才刚刚得到文件夹ID和图像ID,并实时将它们添加到fieldtext框而不刷新页面。
box-shadow
图像显示
<script type="text/javascript">
$(document).ready(function() {
$('.portrait').click(function(){
var idimg = $(this).attr('id');
var srcimg = $(this).attr('src');
alert(srcimg); // shows debug
});
});
</script>
<input name="sel-avatar" type="textfield" id="avatar" value="IMAGEID" />
<input name="sel-avatardir" type="textfield" id="avatardir" value="FOLDERID"
任何人都可以帮忙吗?
答案 0 :(得分:0)
你可能正在寻找这个吗?
<script type="text/javascript">
$(document).ready(function() {
$('.portrait').click(function(){
var idimg = $(this).attr('id');
var srcimg = $(this).attr('src');
var splitSrc = srcimg.split("/");
var folder = splitSrc[1];
var splitFile = splitSrc[2].split(".");
var fileId = splitFile[0];
document.getElementById("avatar").value=fileId;
document.getElementById("avatardir").value=folder;
});
});
</script>
答案 1 :(得分:0)
如果你确定你会得到相同的格式,即文件夹ID,那么图像ID,图像名称你可以使用split函数来获取javascript数组并从数组中获取细节..
<script type="text/javascript">
"portraits/00000/00008.jpg".split(/[\/]+/)
</script>
Array [“portraits”,“00000”,“00008.jpg”]
答案 2 :(得分:0)
试试这个:
var ary = srcimg.split(/\/|\./g);
var folder = ary[1];
var file = ary[2];
此处的假设是您将拥有一个文件夹,并且文件夹或文件名中没有任何句点,但文件扩展名之前除外。 如果有多个文件夹,我们必须稍微更改分配,但split语句是相同的。