2016-07-07 6 views
0

リピータ内のアイテムのリストを作成しようとしています。各項目には、テキストボックス付きのパーセントスライダが含まれています。テキストボックスと対応するスライダーをリンクして、ユーザーが2つの入力方法を持つようにします。aspリピータ内のJQueryスライダとテキストボックス

機能はある意味では機能していますが、機能は現在、クラス名に基づいており、その結果、リピータ内のすべてのテキストボックスを更新する単一のスライダーとなります。

リピータ内でペアを正しくリンクする方法についてのご意見はありますか?

多くのおかげ

JS

<script> 
    $(function() {  
     $(".compDiscSlider").slider({ 
      value: 0, 
      orientation: "horizontal", 
      range: "min", 
      animate: true, 
      step: 0.25, 
      min: 0.00, 
      max: 100.00, 
      slide: function (event, ui) { 
       $(".compDiscTB").val(ui.value + "%"); 
      } 
     }); 
     $(".compDiscTB").change(function() { 
      $(".compDiscSlider").slider("value", parseFloat(this.value)); 
     }); 
    }); 
</script> 

ASPX

<asp:Repeater ID="rptComponents" runat="server" EnableViewState="false" OnItemDataBound="rptComponents_ItemDataBound"> 
<ItemTemplate> 
    <tr> 
     <td data-title="Discount"> 
      <asp:PlaceHolder ID="plhDiscountPricing" runat="server"> 
       <div id="compDiscSlider" class=compDiscSlider style="width:260px; margin:15px"></div> 
       <asp:TextBox ID="compDiscTB" runat="server" CssClass="compDiscTB"></asp:TextBox> 
      </asp:PlaceHolder> 
     </td> 
    </tr> 
</ItemTemplate> 

+0

"リンク"とはどういう意味ですか? 「ユーザーが更新したら、もう1つは更新され、逆も同様」という意味ですか? – Andrei

+0

こんにちはアンドレイ。ご回答いただきありがとうございます。はい、私はお互いを更新するための項目を意味しました。私はいくつかの成功を収めました:\t $(this).next()。val(ui.value + "%"); – user6561435

答えて

0
slide: function (event, ui) { 
      this.next('input').val(ui.value + "%"); 
     } 

:-)グラブはJQuery .next( '入力')を使用して、次の入力コール。これは正確に正しいとは限りませんが、正しい方向に動かす必要があります。

+0

ありがとうございます。私はいくつかの成功を収めました:$(this).next().val(ui.value + "%"); – user6561435

関連する問題