Используйте флажок, чтобы показать отключенных пользователей - PullRequest
0 голосов
/ 25 мая 2018

Я создаю веб-сайт, на котором я показываю активных пользователей в Bootstrap по умолчанию, но есть флажок, чтобы показать всех пользователей.Но я не уверен, как мне правильно его реализовать.

Я думал о том, чтобы сделать:

  <form class="" action="/admin" method="get">
    <input type="checkbox" name="showDisabled" value="">
    <input type="submit" name="" value="">
  </form>

А в моем / admin маршруте:

  if (req.body.showDisabled) {
  User.find({}, (err, users) => {
    if (err) {
      console.log(err);
    }
  }).then((users) => {
    res.render('pages/userTable', {users: users});
  })
} else if (!req.body.showDisabled) {
  User.find({enabled: true}, (err, users) => {
    if (err) {
      console.log(err);
    }
  }).then((users) => {
    res.render('pages/userTable', {users: users});
  })
}

Но это, кажется, действительно неопрятно.Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете попробовать это:

Маршрутизатор

app.get('/getDiasbleUser', function(req, res) {
var getDiasbleUser = req.params.showDisabled
if (getDiasbleUser == "Yes") {
    User.find({}, (err, users) => {
        if (err) {
            console.log(err);
        }
    }).then((users) => {
        res.send(users);
    })
} else if (getDiasbleUser == "No") {
    User.find({
        enabled: true
    }, (err, users) => {
        if (err) {
            console.log(err);
        }
    }).then((users) => {
        res.send(users);
    })
}
})

HTML (шаблон)

<!DOCTYPE html>
<html lang="en">
   <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
   </head>


   <body>
      <div class="container">
         <form class="" action="/admin" method="get">
            <input type="checkbox" id="disableId" name="showDisabled" value=""><br>
            <div id="appendValue"></div>
            <br>
            <button class="btn btn-primary">Submit</button>
         </form>
      </div>
   </body>

    //Ajax call
   <script>
      $('#disableId').on('click', function () {
             $(this).val(this.checked ? 1 : 0);
             //console.log($(this).val());
             var url = "";
             if($(this).val() == 1){
                url = "/getDiasbleUser?showDisabled=yes"
             } else {
                url = "/getDiasbleUser?showDisabled=no"
             }

             $.ajax({
                url: url,
                 success: function(data){
                    //Here data will be return result(You will append into div or table)
                    //like : $('#appendValue').append(data)
                 }
             })

         });
    </script>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...