3

問題は、ビューをレンダリングしてデータを送信することです

console.log(products); // shows an array
res.render('seller/sell',{'shop_id':req.user.shop_id ,'products':products});

このようなデータを翡翠に保存します

input(id='shop_id',type='hidden',name='shop_id',value='#{shop_id}')
input(id='pd',type='hidden',name='pd',value='#{products}')

 if(products !='')
    each val , key in products
        a(href!='home/sell/edit?id=#{val.id} ',class='product')
            img(class='product_thum',src!='#{ val.product_thum}',alt!='#{ val.product_name}',title!='#{ val.product_name}')
            p.product_name #{ val.product_name}

そして、私は製品を手に入れようとします

var d = $('#pd').val();
console.log(typeof d);  //shows string

それ以外の場合、製品は配列でなければならないことを知っています

    if(products !='')
    each val , key in products
        a(href!='home/sell/edit?id=#{val.id} ',class='product')
            img(class='product_thum',src!='#{ val.product_thum}',alt!='#{ val.product_name}',title!='#{ val.product_name}')
            p.product_name #{ val.product_name}

機能しませんが、配列が必要なときに文字列を取得したのはなぜですか?

私は何を間違えましたか?

4

2 に答える 2

5

非表示の入力フィールドに配列を「保存」することはできませんが、できることは、次のような製品 ID のリストを保存することです。

var productIds = products.map(function(product){return product.id}).toString();

res.render('seller/sell',
  {'shop_id':req.user.shop_id ,'products':products, productIds: productIds});

次に、あなたの翡翠ビューで:

input(id='shop_id',type='hidden',name='shop_id',value='#{shop_id}')
input(id='pd',type='hidden',name='pd',value='#{productIds}')

 if(products !='')
    each val , key in products
        a(href!='home/sell/edit?id=#{val.id} ',class='product')
            img(class='product_thum',src!='#{ val.product_thum}',alt!='#{ val.product_name}',title!='#{ val.product_name}')
            p.product_name #{ val.product_name}

の値はpd、製品 ID のカンマ区切りのリストになります

特にエレガントではありませんが、問題は解決します。

于 2012-11-27T10:42:55.087 に答える
0

カンマ区切りの文字列を表示する最良の方法 データ例 = abc,pqr,lmn;

below code in js file
test = data.toString().split('",");
res.render("show.jade",{list: test});
display the code in jade as
table
 tbody
    each item in list
     tr
      td #{item}
于 2016-03-02T06:56:56.767 に答える