如何使用jquery为每个单击的链接弹出一个新的浏览器窗口

时间:2015-10-22 17:09:21

标签: javascript jquery html jquery-ui laravel-5

我的部分观点是:

@foreach($trainings as $training)
<tr>
<td>{{ $training->training_type }}</td>
<td>{{ $training->start_date }}</td>
<td>{{ $training->end_date }}</td>
<td><a href="{{ url('trainings', $training->id) }}">Edit</a></td>
</tr>
@endforeach

我希望实现的是这一点。当用户点击任何一个上的编辑时,我希望这样 我在表格中列出了不同的培训,在同一页面上弹出一个包含编辑表格的新浏览器窗口 用户编辑该特定培训。经过一番研究后,我遇到了 这样的解决方案看起来有点看好

<a id ="link" href="#">Click</a>

$('#link').click(function(){
    window.open('http://www.example.com', 'mywindow', 'width=400, height=200')
});

首先,我不知道如何从上面的不同href获取url并将其传递给jquery中的window.open()函数。

实际上我可以直接重定向到培训页面视图,以便进行编辑,但客户端 希望所有编辑都在同一页面上完成。用编辑表单弹出一个jquery模式对话框是另一个 客户想要的路线,所以我很欣赏任何想法。因此,我对两种实施策略持开放态度: 1.使用上面的window.open()函数弹出一个新的浏览器窗口来编辑表单 2.使用编辑表单弹出一个jquery模式对话框。

这就是我想要实现的全部目标

2 个答案:

答案 0 :(得分:1)

  

首先,我不知道如何从不同的href中获取网址   在上面并将其传递给jquery中的window.open()函数。

$('#link').click(function(e){
    e.preventDefault();
    window.open($(this).attr('href'), 'mywindow', 'width=400, height=200')
});

答案 1 :(得分:1)

在事件处理程序this中引用

上发生的元素事件

为元素添加一个类,因为ID必须是唯一的

<td><a class="edit-link" href="{{ url('trainings', $training->id) }}">Edit</a></td>

JS

$('.edit-link').click(function(e){
    e.preventDefault();
    window.open( this.href, 'mywindow', 'width=400, height=200')
});