我计划在选择用户时选择输入类型 它只会显示这些用户的推文。
我做的是创建了ff html:
<select id="selectUser">
<option value="all">All</option>
<option value="user1">user1</option>
<option value="user2">user2</option>
<option value="user3">user3</option>
<option value="user4">user4</option>
<option value="user5">user5</option>
</select>
然后我创建了一个处理工作的函数:
Tweets.displayUserTweets = function(id) {
$('#main-content').html('');
var streamLength = streams.users[id].length;
var index = 0;
while (index < streamLength) {
var tweet = streams.users[id][index];
var dayWrapper = moment(tweet.created_at).fromNow();
$('#main-content').append('<div class="box-content"><img src="img/' + tweet.user + '.png" align="left" class="avatar-main"><h5 class="fullNameMain">' + tweet.user + '<span class="userNameMain"> @' + tweet.user + ' * ' + dayWrapper + '</span></h5><p class="tweetContent">' + tweet.message + '</p><ul><li><span class="comment"></span>48K</li><li><span class="retweet"></span> 50K</li><li><span class="heart"></span>100K</li><li><span class="msg"></span>22K</li></ul></div>');
index++;
}
};
然后,只要文档准备好并且用户选择其中一个用户,它就会清空主内容框,然后仅显示用户的推文。
$('#selectUser').on('click', 'button', function() {
if (this.value === 'all') {
Tweets.latestTweets();
} else {
Tweets.displayUserTweets(this.value);
}
});
现在它不起作用。知道我应该调整什么?
答案 0 :(得分:0)
将事件处理程序click
更改为change
,它将起作用。
点击处理程序将在设置时触发,但不会监听所做的更改,因为单击仅打开菜单并在进行任何更改之前发生。用户对列表进行更改后,change
将触发。
$('#selectUser').on('change', function() {
if (this.value === 'all') {
Tweets.latestTweets();
} else {
Tweets.displayUserTweets(this.value);
}
});