2016-09-06 1 views
0

私はhttp://antenna.io/demo/jquery-bar-rating/examples/を使用して、テーブル内の人の評価を設定しています。私は のデータ属性から対応する値を評価関数に渡すことができないので、すべてが機能します。これにより、正しい人物の評価が保存されます。jQuery barrating.js - 送信IDデータ

$('.rating').each(function(index, value) { 
    var dataId = $(this).closest('select').attr("data-rating-candidate"); 
    //console.log(dataId); 

    $('.rating').barrating('show', { 
     theme: 'bars-1to10', 
     onSelect: function(rating, text, event) { 
      if (typeof(event) !== 'undefined') { 
       console.log(dataId); 
      } 
     } 
    }); 
}); 

明らかに、属性から最後に渡された値だけがdataId変数に使用されます。だから、どのように、私は選択した評価のために正しいものを手に入れますか?私はこのバリデーションの中で$ thisを使用することができないようですか?

答えて

2

$ thisは使用できません。しかし、代わりにbarratingにonSelectコールバックの中に 'this'という変数があります。例えば、私の要素は、「データ・ショップ-ID」属性を持っているし、私はこれを行うことにより、内側にonSelectそれは価値のアクセスすることができます

onSelect: function(value, text, event) { 
       var el   = this; 
       var shop_id  = el.$elem.data('shop-id'); 
//do your stuff here     
} 
+0

は、それが役立ちます、ありがとうございます! – Chris

関連する問題