0

form_helperCodeIgniter で使用するこのドロップダウン メニューがあります。

  <?php if($materialType): ?>

    <?php 
    $material_options = array();
    foreach($materialType as $rows){
        $material_options[$rows->id] = $rows->category; 
    }                                       
    echo form_dropdown('materialType',$material_options,'','id="materialType"');
    ?>

<?php endif; ?>

  <div id="materials"></div>

上記のコードは<form>タグ内にあり、次のスクリプトがあります。

  <script type="text/javascript">
    var base_url = "<?php echo base_url(); ?>"; 
  </script>

  <script> 
    $(document).ready(function(){
        $(document).on('change','#materialType',function(){
                loadthis();                 
            });

            function loadthis(){
                var ID  = $('#materialType').val();

                var dataString = 'id='+ ID ;
            $.ajax({
                type: "POST",
                url: base_url + "index.php/admin/get_material",
                data: dataString,
                cache: false,
                success: function(data)
                    {
                    $('#materials').html(data);
                    }
                });     
            }

            loadthis();
        });

 </script>

そして、ロードされているコードは次のとおりです。

   <div id="materials">
   <?php if($materials): ?>
        <table>

            <th>Name</th>
            <th>Description</th>
            <?php foreach($materials as $row): ?>
            <tr>
                <td><?php echo $row->mname; ?></td>
                <td><?php echo $row->mdesc; ?></td>

                <td>
                    <button class="try" value="<?php echo $row->id; ?>">Add</button>
                </td>

            </tr>

    <?php endforeach; ?>

    </table>

<?php else: ?>
    <div class="alert alert-error" style="width:300px;">No Resource Available!</div>
<?php endif; ?>

   $(document).on('click','.try',function(){
            alert($(this).val());
            return false;
        });

そして、私が欲しいのは、Add buttonがクリックされている場合、 を取得してIDmnameフォームが送信されるまで保存することです。jquery
で使用するにはどうすればよいですか?.data()またはフォームが送信されるまで保存する方法についてのアイデア。

4

1 に答える 1

1

私はあなたのコードを徹底的に見ていませんでしたが、テーブルの行をループで印刷すると、id="try"すべての行に割り当てられていることに気付きました。htmlid属性は一意の識別子であるため、値を警告しているJSは、最初に見つけたIDの値のみを返します(少なくともそれは私が思うことです)。classan のinstread を使用してから、js でid使用してみthisてください。

$(document).on('click','.try',function(){
    alert($(this).val());
    return false;
});
于 2013-08-10T11:18:17.303 に答える