如何创建动态a-tag onclick以使用javascript调用外部函数

joenpc npcsolution

我正在使用ajax请求进行laravel项目。我可以收到来自控制器的响应,如下所示。

    success:function(response){
         var output = "";
         $.each(response, function(i, item) {
            var room = item.room;
            var route = `{{url('medicalroom/callque/${id}')}}`;                    
            output += `<a onclick="confirmation(event)" href="${route}" '>Room ${("00" + room).slice(-2)} </a>`;
            })
         $('#roomlist').html(output);
     }

    function confirmation(e) {
        e.preventDefault();
        alert(route);
    });

我可以将结果添加到div中,roomlist但一旦执行,onclick则不能触发事件。任何建议或指导将不胜感激,谢谢。

穆罕默德

您可以尝试类似的操作,不要将调用添加到onclick上,而是使用某些类,然后从链接的href中获取路由,也可以将其存储在data-route=${route}属性中并像$(this).data('route')

  $(function(){
  
  function func(response) {
         var output = "";
         $.each(response, function(i, item) {
            var room = item.room;
            var route = `medicalroom/callque/4`;                    
            output += `<a class='link' href="${route}" '>Room ${("00" + room).slice(-2)} </a>`;
            })
         $('#roomlist').html(output);
     }
 
 var resp = [{room: '001'}, {room: '002'}, {room: '003'}, {room: '004'}, {room: '005'}];
     
     func(resp)
     
     $(document).on('click', '.link', function(e){
     		   e.preventDefault();
        alert(this.href);
     })
    
    })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="roomlist"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章