2016-03-28 12 views
0

jquery selectableを使用してdiv値またはIDを選択しようとしていました。私の問題はループ内でdivを使用しているためです。値またはIDを取得しようとしたときにdiv値が最初に与えられているかid.Belowが自分のコードです。jqueryで選択可能なdiv値またはIDを取得するには?

<input type="text" id="mod"> 
    <div class="row"> 
     <?php for($i=0;$i<4;$i++){ ?> 
     <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12 list" > 
     <div class="dashboard-stat blue cmp" value="<?php echo 'test'.$i; ?>" id="<?php echo 'test'.$i; ?>"> 
      <div class="visual"> 
      <i class="fa fa-comments"></i> 
      </div> 
      <div class="details "> 
      <div class="desc" > akak</div> 
      </div> 
     </div> 
     </div> 
     <?php }?> 
    </div> 

私はdiv要素を選択していたとき、私は毎回同じ値を選択mのとき、それはCMP div.Butの値を与えるべきではcoming.Iがbox.Belowが私のJSコードである隠されたテキスト内のこの値を取得しようとしていますです。

$(".list").selectable({ 
    stop: function() { 
    $(".cmp", this).each(function() { 
     var index =$(this).attr('data'); 
     console.log($('.cmp').attr('id')); 
     items += ("," +(index)); 
    }); 
     $('#mod').val(items); 
    } 
}) 

ありがとうございます。

答えて

1

あなたは、クラス値がcmpを有するattr('id')のみ、最初のdivのあなたのIDを与える呼び出すとあなたのすべてのdivを与える

$('.cmp').attr('id')

を使用しています。あなたはdiv要素のリストを反復処理されたよう

、あなたは

$(this).attr('id')

+0

感謝Bhushan、私はこの愚かな間違いをしていた。テキストボックスにすべての選択された値を追加するには? – aj089

+0

'item + =("、 "+(index));' item + = $(this).attr( 'id')+ '、'; 'を変更するとカンマで区切られたidが得られます –

+0

thnku bhushan .iはこれを試しました、それは私にただ一つの値を与えています。私はそれを私に現在のdiv value.itを与える複数を選択する現在の選択divとテキスト値を置き換える、私はすべてのdiv値をテキストボックスにします。 – aj089

0

下に示すように、あなたのループで現在のdivを与えるどの$(this)を使用する必要があり、このURLにあるドキュメントを検討して考えてみましょう:http://jqueryui.com/selectable/#serialize

あなたが必要とするものを正確に提供します。

+0

私はgoto url .thnkuは動作していますが、テキストボックスにすべての値を取得していません.iすべての選択された値をテキストボックスに追加するために.howを選択すると、1つの値しか得られません。 – aj089

+0

ここで私が理解した通りに成し遂げようとしている基本的なアイデアがあります:http://jsfiddle.net/QFm7K/ – Husein

+0

thnkuしかし、私はselectableを使用していますので、ユーザーはunselectを選択できますが、urフィドルでは値が重複しています。 – aj089

関連する問題