0

アコーディオンの div を押すと、何かの値を取得する必要があります。この div=" accordion" には次の構造があります。

<div class="accordion">
    <? if ($_SESSION[SITE]['user']['id'] == $message['yp_from']) { ?>                                                 <div class="row"><span class="bold">From: </span> <span>Me</span>    
     <span class="grey9"> <?= $this->tools_lib->date_format($message['yp_time']); ?></span>     
  <?  } else { if ($message['yp_state_from'] == 0) {?>
 <div class="row"><span class="bold">From: </span><span><?= $this->tools_lib->name_separate($message['yp_name']) ?></span> 
   <div id="idMens<?= $message['id'] ?>" style="display:none;" class="showNew"><?= $message['id'] ?></div></span>
  <h5 id="new"> New </h5>
        <?} else { ?> 
<div class="row"><span class="bold">From: </span><span><?= $this->tools_lib->name_separate($mensaje['yp_name']) ?></span>
    <? } 
         } ?>
</div>
   <p><?= $message['yp_message'] ?><p>
</div>

「div id="idMens"」から · $mensaje['id'] · 値を取得したい。私はjqueryでそれをやろうとしていました。しかし、正しい値を取得するのに問題があります。常に最初の項目値を取ります。つまり、最後に動的に入力された値です。

このjqueryコードを使用しようとしています。しかし、整形式のコードではないと思います..

<script>
     $(document).ready(function(){
            $('.accordion').find('div').click(function(){
                $(this).next().slideToggle();
                $('.showNew').on('click', function() {
                    var idm =this.id; 
                });
                var form_data = { 

                    to: $('#',idm).html()
                }


                $.ajax({
                    url: _baseurl+""+_lang+"/messages/updateState/",         // ruta del controlador y accion
                    type: 'POST',
                    data: form_data,
                    success: function(data){ 
                        $('#new').hide();
                    }    
                });
            }).next().hide();
        });
</script>

ありがとうございました!

4

1 に答える 1

0

最後に私はそれをしました。私はばかです... とても簡単でした。私は間違った方法でした。

私は他の機能を作成しました:

 function changeState(id){

                var form_data = {
                    to: id
                }

                $.ajax({
                    url: _baseurl+""+_lang+"/messages/updateState/",         // ruta del controlador y accion
                    type: 'POST',
                    data: form_data,
                    success: function(data){ 
                        $('#new').hide();
                    }    
                });
            }

そして、最初のdivでそれを呼び出します。オンクリックで。動的 ID をパラメーターとして渡すので、うまく使用できます。

ありがとうございました

于 2013-02-28T08:56:22.257 に答える