0

我这里有一些portlet,每个portlet 都有一个ID。我要做的是在按下portlet 中的添加按钮后将这些ID 传递给弹出模式。

这是 portlet 视图:

@foreach($portlets as $portlet)
<div class="box span4">
  <div class="box-header well" data-original-title>
    <h2><i class="icon-th"></i> {{$portlet->portlet_title}} </h2>
  </div>
  <div class="box-content">
    <div class="row-fluid">
      // some contents over here
    </div>
    <div class="box-icon">
      <a href="#" class="btn btn-settingLink btn-round" title="Add New Link" data-rel="tooltip"><i class="icon-plus-sign"></i></a>
    </div>
  </div>
</div>
@endforeach

注意代码底部的添加新链接按钮,当我按下它时,会出现一个模式。这是它的视图:

<div class="modal hide fade" id="linkSettings">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">×</button>
    <h3>Add New Link</h3>
  </div>

  <form method="post" action="{{ URL::to('addlink') }}" >
  <div class="modal-body">
      <div class="control-group">
      <label class="control-label" for="focusedInput">Link Title:</label>
      <div class="controls">
        <input class="input-xlarge focused" id="link_title" name="link_title" type="text">
      </div>
      </div>

      <div class="control-group">
      <label class="control-label" for="focusedInput">Add A Link:</label>
      <div class="controls">
        <input class="input-xlarge focused" id="link_url" name="link_url" placeholder="eg. http://www.example.com/" type="text">
      </div>
      </div>
  </div>

  <div class="modal-footer">
    <a href="#" class="btn" data-dismiss="modal">Close</a>
    <input type="submit" id="submit" name="submit" value="Submit" class="btn btn-primary">
  </div>
  </form>
</div>

此模式中有一个要在控制器中处理的表单。但是如何将 portlet ID 发送到此模式,以便在控制器中处理期间将其存储在数据库中?因为我希望它自动知道我想在其中添加链接的 portlet。任何想法?

如果有的话,请告诉我。

4

1 回答 1

1

您可以将 jQuery 事件处理程序附加到单击“添加新链接”按钮,并使用它来填充模式视图中的隐藏字段。

即类似的东西:

$("a.new_link").click(function(){
    portlet_id = $(this).parent().parent().attr("id");
    $("div.modal form input.my_hidden_field").val(portlet_id)
});

在模态的某处<form>

<input type="hidden" name="portlet_id" class="my_hidden_field"/> 

然后,您只需要portlet_id使用 Laravel/PHP 获取 POST 参数来确定所使用的 portlet ID。

编辑

根据您提供的代码修改处理程序:

$('.btn-settingLink').click(function(e){
    e.preventDefault();
    $('#linkSettings').m‌​odal('show');
    // get the portlet_id and modify the midden field
    portlet_id = $(this).parent().parent().attr("id");
    $("div.modal form input.my_hidden_field").val(portlet_id)
});
于 2013-06-21T17:50:22.007 回答