脚本如何工作:当运行此脚本时,它会从选择框(#artist)中的选项中获取id#(示例123),并将该数字放在具有updategallerylink类的基本链接的末尾。所以我最终得到这样的链接:domain.com/artist/123 /)
问题是,如果我选择选项1(123)然后选择选项2(234),它实际上会吐出一个链接,该链接显示domain.com/artist/123/234/何时应该只吐出domain.com /艺术家/ 234 /.
我不希望它从#artist堆叠变量,而是每次选择不同的选项时用正确的id#替换它。
<script type="text/javascript">
$(function() {
$('.updategallerylink').click(function() {
var searchString = $('#artist').val();
var searchLink = $(this).attr('href');
$(this).attr('href', searchLink+searchString+'/');
});
});
</script>
<select name="artist" id="artist" style="width: 200px; background: black;" class="required">
<option value="123">Artist 1</option>
<option value="234">Artist 2</option>
</select>
<a href="/artist/" id="gallerylink" class="updategallerylink" title="Artwork Gallery" target="_blank">gallery</a>
答案 0 :(得分:3)
您可以将原始href保存为数据,然后只将艺术家附加到原始href,如下所示:
<script type="text/javascript">
$(function() {
$('.updategallerylink').click(function() {
if(!$(this).data('orig-href')) {
// Store the original href
$(this).data('orig-href', $(this).attr('href'));
}
var searchString = $('#artist').val();
var searchLink = $(this).data('orig-href');
$(this).attr('href', searchLink + searchString + '/');
});
});
</script>