2

Mongo データベースからフォーム内のテーブルにデータを入力します。ユーザーが 1 つまたは複数のチェックボックスを選択して、テーブルから選択された項目を判断できるようにしたいと考えています。問題の一部は、チェックボックスが動的に作成されるため、チェックボックスに名前を付ける方法がわからないことです。チェックボックスのプロパティの読み方もわかりません。

ExpressJS と Jade を使用しています。問題なくテーブルにデータを入力できますが、どのアイテムが選択されたかを伝える方法がわかりません。

これが私の翡翠です

    h1 index view

    form  (method='post', action='/customers/check')
      fieldset
        legend Add a Customer
    div.clearfix
      -if(docs.length)
      table(style="border-left:1px solid black")
        tr
          th First Name
          th Last Name
          th "Hidden" 
            each first in docs
              tr
               td #{first.first} 
               td #{first.surname}
               td #{first.group}
               td
                 div.input
                    input(type="checkbox", name=(#{first.box}), unchecked=     (true===true ? "checked" : "")).checkbox
        div.actions
          input(type='submit', value='Save', class='btn primary')
          button(type='reset', class='btn') Cancel

私のMongoデータベースには4つのプロパティがあります(最初、姓、グループ、およびこの問題を解決するためにボックスを追加しました)全体像では、文字列入力を取得してから、このテーブルでビューをレンダリングし、保存したい文字列入力と、2 つのプロパティ (文字列と複合オブジェクト) を持つ別の mongoDB に選択されたテーブルの要素を保存してください。

4

1 に答える 1

1

Ah got it ずっとソリューションの周りで踊っていた

  h1 index view

 form(method='post', action='/customers/check')
fieldset
    legend Add a Customer
    div.clearfix
        -if(docs.length)
            table(style="border-left:1px solid black")
                tr
                    th First Name
                    th Last Name
                    th "Hidden" 
                        each first in docs
                            tr
                                td #{first.first} 
                                td #{first.surname}
                                td #{first.group}
                                td
                                    div(data-role='fieldcontain')   
                                        fieldset(data-type='vertical', data-role='controlgroup')                                           
                                            label(for='showpass') show password
                                            input(id='showpass',type='checkbox', name='#{first.id}')
    div.actions
        input(type='submit', value='Save', class='btn primary')
        button(type='reset', class='btn') Cancel

私のサーバー側では、チェックされた値を「arr」という配列に入れました。

     app.post('/customers/check', function(req, res) {
        console.log(req.body);
        var locks = req.body;
        var arr = Object.keys(locks);
        console.log(arr);   
        res.redirect('/customers')
});
于 2013-02-26T17:19:57.823 に答える