jQuery选择用户不起作用

时间:2017-10-28 15:00:02

标签: javascript jquery

我计划在选择用户时选择输入类型 它只会显示这些用户的推文。

我做的是创建了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);
         }
     });

现在它不起作用。知道我应该调整什么?

1 个答案:

答案 0 :(得分:0)

将事件处理程序click更改为change,它将起作用。

点击处理程序将在设置时触发,但不会监听所做的更改,因为单击仅打开菜单并在进行任何更改之前发生。用户对列表进行更改后,change将触发。

$('#selectUser').on('change', function() {
     if (this.value === 'all') {
         Tweets.latestTweets();
     } else {
        Tweets.displayUserTweets(this.value);
     }
 });