0

私はこのコードを持っています..しかし小さな問題があります..隠しtrを表示するときに各モジュールに関する情報を取得したい..ページ{modules/$moduleid}から情報を取得します..使用方法を知っていますajax ..しかし、私の問題は、javascriptコードで変数 {$module.id} を使用して、情報ページのURLを与える方法です!

これは私のコードです:

<script type="text/javascript">
$(document).ready(function(){

$('.subjects').click(function(){  
 var $tr = $(this).closest('tr');
$tr.nextUntil('.module-row').fadeIn(2000);
});

 $('.result').click(function(){  
 $(this).fadeOut(2000);
});
});
</script>
<br /><br /><table width="100%">
<tr class="tbl">
<td colspan="6">{$ci->lang->line('modules_list')}</td>
</tr><tr>
<td class="tbl1" style="width: 8%;">{$ci->lang->line('number')}</td>
<td class="tbl2" style="width: 28%;">{$ci->lang->line('title')}</td>
<td class="tbl1" style="width: 10%;">{$ci->lang->line('add_subject')}</td>
<td class="tbl2" style="width: 10%;">{$ci->lang->line('subjects_list')}</td>
<td class="tbl1" style="width: 8%;">{$ci->lang->line('edit')}</td>
<td class="tbl2" style="width: 8%;">{$ci->lang->line('delete')}</td>
</tr>
{foreach $modules_list as $module}
<tr class="module-row">
<td class="tbl1" style="width: 8%;">{$module.number}</td>
<td class="tbl2" style="width: 28%;">{$module.title}</td>
<td class="tbl1" style="width: 10%;"><a href="{base_url('admincp/subjects/add')}/{$module.id}"><img src="{base_url('images/icons/add.png')}" /></a></td>
<td class="tbl2" style="width: 10%;"><img style="cursor: url;" class="subjects" src="{base_url('images/icons/list.png')}" /></td>
<td class="tbl1" style="width: 8%;"><a href="{base_url('admincp/modules/edit')}/{$module.number}"><img src="{base_url('images/icons/edit.png')}" /></a></td>
<td class="tbl2" style="width: 8%;"><a onclick="return confirm('{$ci->lang->line('delete_confirm_msg')}')" href="{base_url('admincp/modules/delete')}/{$module.number}"><img src="{base_url('images/icons/delete.gif')}" /></a></td>
</tr>
<tr class="result" style="display:none">
<td colspan="7">
RESULT
</td>
</tr>
{/foreach}
</table>
</div>
</body>
</html>

たとえば、これは各モジュールのサブジェクトを取得するために使用するコードです:

 $.ajax({
   url: "../subjects/module_select/$module_id",
    type : "POST",
    data : dataAll,
    dataType :"html",
    success : function(msg){
       $('#select_subject').fadeIn(1000);
         $('#select_subject').html(msg)

    }

ループ内で毎回 $module_id を割り当てるにはどうすればよいですか?

4

1 に答える 1

0

表にIDを含めないのは間違いだと思います。ここでは、非表示のdivの data-id 属性に $module_id を追加しました。この ID は に割り当てられmoduleId、JS コードで好きなように使用できます。

#module_id { display: none; }

<div id="module_id" data-id="$module.id"></div>

var moduleId = $('#module_id').data('id');

$.ajax({
  url: "../subjects/module_select/" + moduleId
});

data-idそれが何であれ、クリックイベントをキャッチする要素の属性に追加することをお勧めします。

<tr data-id="$module.id" class="module-row">

$(document).on('click', '.module-row', function () {
  var moduleId = $(this).data('id');
  // Do ajax
});
于 2013-09-17T10:06:41.860 に答える