我有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>
答案 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>