从控制器发送多个选定的项目到视图 [英] Sending Multiple Selected Items from Controller to View

查看:104
本文介绍了从控制器发送多个选定的项目到视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个物品清单,这个应用程序的用户可以选择他希望的物品。现在,我想下载每个选定项目的详细信息。我有方法:

  getSelectedItems()

它返回每个所选项目逗号分隔的ID,例如,如果用户选择2,4,6,7项目,那么它将返回2,4,6,7,



现在,我想将此字符串作为params传递给控制器​​。我正在使用

 < g:link> 

标记如:

 < g:link controller =itemsaction =downloadSelecteditemsparams =$ {getSelectedItemss}class =btn btn-xs> 

现在,我可以如何发送所有从上述方法中获得的选项作为参数标签?



感谢您的时间,考虑和指导: - )

解决方案

针对这个问题已经提出了另一种解决方案。实际上,我们的JavaScript在浏览器端呈现,我们的标记(如服务器端呈现)也是我们无法在标记中调用JavaScript方法的原因。

因为我希望传入多个选定项目的ID(通过调用JavaScript方法getSelectedItems获得,这会返回每个选定项目的逗号分隔ID),我使用了标签,因为标签在后端也使用了该标签。这是我如何使用这个标签:

 < a id =linkURLhref =$ {createLink(controller:' Controller',action:'actionMethid')}onclick =downloadSelectedItems()> 

在JavaScript中,我处理了onClick事件,其中添加了逗号分隔ID(由getSelectedItems返回) JavaScript方法)与URL,例如:

  function downloadSelectedItems(){
var selectedSessions = getSelectedItems();

var link = document.getElementById(linkURL)。href;
alert(link);
document.getElementById(linkURL)。href = link +?selectedSessions =+ selectedSessions;
link = document.getElementById(linkURL)。href;
alert(link);
}

因此,我可以在控制器端获得选定的项目:-)

I have a list of items and user of this application may select as many items he wish. Now, I want to download the details of each selected items. I have method:

getSelectedItems()

which returns the ids of each selected items comma separated such as if user selects 2,4,6,7 item then it will return 2,4,6,7,

Now, I want to pass this string as params to controller. I am using

<g:link>

tag such as:

<g:link controller="items" action="downloadSelecteditems" params="${getSelectedItemss}" class="btn btn-xs ">

Now, How I can send all the selected items that I will get from above method as params in this tag ?

Thanks for you time, consideration and guidance :-)

解决方案

An alternative solution has been proposed for this problem. Actually our JavaScript renders at browser end and our tags such as renders at server end that's why we can't invoke JavaScript method in tags.

As I wished to pass the ids of multiple selected selected items (that I get by calling the JavaScript method getSelectedItems which returns me the comma separated IDs of each selected item), I used the tag instead because tag use this tag at back end too. This is how I used this tag:

 <a id="linkURL" href ="${createLink(controller: 'Controller', action: 'actionMethid')}" onclick="downloadSelectedItems()">

And In JavaScript I handled onClick event where I append the Comma Separated IDs of seleceted Items (returned by getSelectedItems JavaScript method) with the URL such as:

function downloadSelectedItems() {
    var selectedSessions = getSelectedItems();

    var link = document.getElementById("linkURL").href;
    alert(link);
    document.getElementById("linkURL").href=link+"?selectedSessions="+selectedSessions;
    link = document.getElementById("linkURL").href;
    alert(link);
}

Thus I was able to get the selected items on the Controller Side :-)

这篇关于从控制器发送多个选定的项目到视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆