将参数传递给bootstrap中的onshow函数

时间:2014-05-14 16:50:42

标签: javascript jquery twitter-bootstrap

我有3个页面,其中有一个元素列表,我有一个模式,显示单个元素信息以进行编辑。由于我有3个页面,我想创建一个javascript文件,为所有人提供服务而不是单独对每个页面进行硬编码,为此我需要将参数传递给我的js函数。但是,每次模态显示时都会触发我的函数,我不知道在哪里传递参数。

这是我的js代码(在单独的文件中):

$(function(){
$('#myModal').modal({
    keyboard: true,
    backdrop: "static",
    show:false,
}).on('show.bs.modal', function(){ //subscribe to show method
    var getIdFromRow = $(event.target).closest('span').data('id'); 
    autoCompletion(getIdFromRow, function(output){          
        var keys = Object.keys(output);
        for (var i = 1; i < keys.length; i++) { 
            document.getElementById(keys[i]).innerHTML = output[keys[i]];
        }   
    });
});
function autoCompletion(rowid,handleData){
    $.ajax({
        type:'POST',
        url: **I Want to get a url here** + "/autocomplete.php", 
        data: { action : 'autocomplete', id : rowid},
        success:function(data){
            console.log(data);
            var json = data, obj = JSON.parse(json);
            handleData(obj);
        }
    });
}   }); 

这是显示模态

的元素(每个表行相同)
<td><a href="#">
<span class="glyphicon glyphicon-wrench" data-toggle="modal" data-id={$building.idbuilding} data-target="#myModal">
</span></a></td>

1 个答案:

答案 0 :(得分:0)

如果您想将一些参数从后端人员传递给javascript,最简单的方法是在每个页面中创建一个包含JS var的脚本:

<script>
    var url = 'something-that-is-usefull-for-you';
</script>
<script src='/your-js-common-file-that-will-use-the-var'></script>

您还可以在每个页面上使用不同的隐藏DOM元素:

<span id='url' class='hidden' data-url='something-that-is-usefull-for-you'></span>
<script>
    var url = $('#url').data('url');
</script>