ユーザーが都市のリストから入力する代わりに選択できるフォームを設定しようとしています。私の問題は、最初の選択で問題ありませんが、2番目の選択で次の場合:
同じ入力をクリックしました-選択+ = 1でログに記録されるため、「出発」都市を2回目に表示すると、2回ログに記録されます。3回目、3回など。
他の入力をクリックしました。選択範囲は何度もログに記録され、両方の入力にデータが入力されます。
私はそれが「この」問題であるとかなり確信しているので、私はそれをよりよく見るためにコンソールに問題を記録しました。2つの別々のリストを簡単に作成し、それぞれを別々に参照できることは知っていますが、同じリストを2回繰り返す理由がわかります。また、マークアップが意味的に正しいかどうか(または、このリストを1回だけ書き込むことが意味的に正しいかどうか)もわかりません。ありがとうございました。
質問する
44 次
1 に答える
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();
});
しかし、あなたのアプローチは私には奇妙に思えます。2つの独立したselect要素を使用する方がはるかに良いと思いませんか?プロジェクトライフの後半で、都市リストが分岐した場合はどうでしょうか。
于 2012-09-19T07:01:43.277 に答える