通过链接单击将变量传递给JQM对话框

时间:2015-04-15 16:25:18

标签: javascript jquery jquery-mobile

我用链接打电话给我的对话

<li><a href='#refPerson' data-transition='pop' id=" + id + ">" + text + "</a></li>;

有没有我可以将一个也是id的变量传递给refPerson beforeshow函数?我试图不必做一个虚假的隐藏元素。我尝试了很多不同的方法但似乎没有任何东西通过var。

    $(document).on('pagebeforeshow','#refPerson', function(){

    });

我已经更改了对话框的调用方式,使链接的onclick成为动态打开对话框的函数,但我无法正确传递参数。我只需要将点击的链接ID获取到beforeshow函数,或以某种方式将变量传递给它

3 个答案:

答案 0 :(得分:0)

您可以考虑使用html5 data-*属性。

参考this

使用.attr()从属性中检索值。请参阅api

答案 1 :(得分:0)

如前所述,您可以使用.attr(),这是一个示例:

<li><a href='#' onclick='getId(this);' data-transition='pop' id='someId'>Some Text</a></li>

<script>
function getId(e){
 var myId = $(e).attr("id");  
 console.log(myId);
 //yourcode...and then redirect...
 $.mobile.navigate( "#refPerson" );
}
</script>

您还可以指定global javascript variable并在对话框中检索它,如下所示:

function getId(e){
 window.myId= $(e).attr("id");  
 console.log(window.myId);
 //yourcode...and then redirect...
 $.mobile.navigate( "#refPerson" );
}

我个人使用sweet-alert插件来处理对话框和消息。

答案 2 :(得分:0)

我刚刚将链接的onclick更改为函数并传递了参数。然后动态打开新对话框。这似乎是解决我问题的最简单方法