Jquery 将参数传递给show.bs.modal function()

Jquery 将参数传递给show.bs.modal function(),jquery,grails,twitter-bootstrap-3,bootstrap-modal,Jquery,Grails,Twitter Bootstrap 3,Bootstrap Modal,如何将参数传递给show.bs.modal事件?我目前正在使用Bootstrap 3.3.7,我有以下代码: function openAppForm(name, number) { $("#form-content").modal({cache:false},'show'); }; $("#form-content").on("shown.bs.modal",function (<<PASS name and number here>>) {

如何将参数传递给show.bs.modal事件?我目前正在使用Bootstrap 3.3.7,我有以下代码:

function openAppForm(name, number) {

        $("#form-content").modal({cache:false},'show');

};

$("#form-content").on("shown.bs.modal",function (<<PASS name and number here>>) {
                  document.getElementById('apply-frame').src="${g.createLink(controller: "apply", action: "index")}?name=" + name + "&number=" + number;
            })
函数openAppForm(名称、编号){ $(“#表单内容”).modal({cache:false},'show'); }; $(“#表单内容”)。在(“show.bs.modal”上,函数(){ document.getElementById('apply-frame').src=“${g.createLink(控制器:“应用”,操作:“索引”)}?name=“+name+”&number=“+number; })
谢谢

我相信还有更优雅的方式,但你可以试试这样的方式

var modalShow;
function openAppForm(name, number) {
    modalShow = function(name, number) {
        document.getElementById('apply-frame').src="${g.createLink(controller: "apply", action: "index")}?name=" + name + "&number=" + number;
    };

    $("#form-content").modal({cache:false},'show');
};        

$("#form-content").on("shown.bs.modal", showModal);

我相信还有更优雅的方式,但你可以试试这样的方式

var modalShow;
function openAppForm(name, number) {
    modalShow = function(name, number) {
        document.getElementById('apply-frame').src="${g.createLink(controller: "apply", action: "index")}?name=" + name + "&number=" + number;
    };

    $("#form-content").modal({cache:false},'show');
};        

$("#form-content").on("shown.bs.modal", showModal);

在传递字段时,我假定您的gsp中的字段是
name
number
到java脚本的世界。从那时起,绑定到
g的功能就变得不可能了,一个grails变量和一个java脚本变量就不可能了

因此,与其做类似的事情,不如创建链接,即正在单击的元素id

<div class="form-content" 
data-url="${g.creatLink(controller:controller,action:action,params:[name:name,number:number]);">

请注意,我将id改为class,因为这似乎是多行的实例,它们不应该共享相同的id,它们可以共享相同的类,jquery将从
$(this)

中计算出哪个class元素在传递我从gsp中假定为
name
的字段时,
number
进入java脚本的世界。从那时起,绑定到
g的功能就变得不可能了,一个grails变量和一个java脚本变量就不可能了

因此,与其做类似的事情,不如创建链接,即正在单击的元素id

<div class="form-content" 
data-url="${g.creatLink(controller:controller,action:action,params:[name:name,number:number]);">

注意,我将id改为class,因为这似乎是多行的实例,它们不应该共享相同的id,它们可以共享相同的类,jquery将从
$(this)

中计算出哪个类元素可以将这些属性存储在元素本身上,然后使用数据函数访问它们。这就是我们在网上的做法


您可以将这些属性存储在元素本身上,然后使用数据函数访问它们。这就是我们在网上的做法

必须将其更改为attr()而不是data(),因为当name或number的值发生更改时,数据不会更新。必须将其更改为attr()而不是data(),因为当name或number的值发生更改时,数据不会更新。