[英]Add listener to span content change
我有一个简短的代码段,每次使用ul
(出于CSS用途)制作的下拉菜单更改其值时,我都希望运行该代码段。
<span class="persons">5 personer</span>
<ul class="dropdown">
<li><a href="#">5 personer</a></li>
<li><a href="#">6 personer</a></li>
<li class="goodprice"><a href="#">7 personer (mer prisvärt)</a></li>
<li><a href="#">8 personer</a></li>
<li class="goodprice"><a href="#">9 personer (mer prisvärt)</a></li>
<li><a href="#">10 personer</a></li>
<li class="goodprice"><a href="#">11 personer (mer prisvärt)</a></li>
</ul>
这是我的jQuery:
var persons = $('.persons').text();
if (persons == "5 personer" || persons == "6 personer" || persons == "7 personer (mer prisvärt)") {
$('#boattype1').show();
$('#boattype2').show();
$('#boattype3').hide();
} else if (persons == "8 personer" || persons == "9 personer (mer prisvärt)") {
$('#boattype1').show();
$('#boattype2').hide();
$('#boattype3').show();
}
所以我需要的是一旦您从ul
选择了新内容,就会触发JS代码。 我试图添加$('ul a').click(function() {});
和$('span').change(function() {});
没有任何结果,所以我非常需要您的帮助来解决这个希望很小的问题。
一个span本身没有一个change
事件,但是没有什么阻止您手动触发它,然后对该事件的任何订阅都会触发:
$(function(){
$('.persons').change(function() {
console.log('span changed to ' + $(this).text());
});
$('ul li a').click(function(){
$('.persons').text($(this).text()).trigger('change');
});
});
实时示例: http : //jsfiddle.net/djB83/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.