我正在尝试设置一个表单,用户可以从城市列表中选择而不是输入。我的问题是第一个选择很好,但是,在第二个选择中,如果我:
点击相同的输入 - 选择记录+ = 1,所以在第二次打开'离开'城市时,它会记录两次;第3次,3次等
单击其他输入 - 多次记录选择,并将数据输入两个输入。
我很确定这是一个'这个'问题所以我在控制台中记录了问题以便更好地看到它。我知道我可以很容易地制作2个单独的列表并分别引用每个列表,但我想为什么要重复相同的列表两次。我也不确定标记是否在语义上是正确的(或者如果它只在一次写入此列表时在语义上是正确的)。谢谢。
答案 0 :(得分:2)
看起来这个$ this变量的范围有问题,如果你把它定义为全局变量它应该有效:
var $this;
$('.citylist').hide();
$('.depcity, .retcity').on('click', function () {
$this = $(this);
$('.citylist').show().on('click', 'li', function () {
console.log($this);
$this.val($(this).html());
});
}).blur( function () {
$('.citylist').fadeOut();
});
但是我必须说你的方法对我来说似乎很奇怪。使用两个独立的选择元素我会好得多吗?如果在项目生命的后期城市列出分歧呢?