我想创建一个脚本使用FLEXIGRID作为显示来自数据库的信息的方法,但我希望用户也能够输入信息到数据库中。我希望能够启动一个模式窗口,供用户输入信息并提交。在FLEXIGRID的按钮进行编码的方法是如下:flexigrid popup模式窗口
$(document).ready(function(){
$("#flex1").flexigrid
(
{
url: 'post2.php',
dataType: 'json',
colModel : [
{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center', hide: true},
......
buttons : [
{name: 'Add', bclass: 'add', onpress : test},
{separator: true},
{name: 'Delete', bclass: 'delete', onpress : test},
{separator: true},
.... some more code ...
}
);
});
function test(com,grid)
{
if (com=='Add')
{
the code that triggers the modal window
}
}
好吧,我的问题:
当我按下“添加”,我想一个模式弹出窗口出现使用Ajax加载本地文件的内容,以便用户可以输入信息。
我到目前为止有:
我使用的代码从JqModal尝试: 加载CSS和Javascript:
<link rel="stylesheet" type="text/css" href="css/jqmodal.css" />
<script type="text/javascript" src="js/jqModal.js"></script>
$().ready(function() {
$('#ex2').jqm({ajax: 'examples/2.html', trigger: 'a.ex2trigger'});
});
添加的格在页面的底部:
<div class="jqmWindow" id="ex2">
Please wait... <img src="inc/busy.gif" alt="loading" />
</div>
但如何触发该功能?
谢谢, 克里斯蒂安。
LE:这是我现在所拥有的代码,它仍然不工作:
IE说:对象不支持此属性或方法flexigrid,行56字5这正是在$对话框功能启动。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Flexigrid</title>
<link rel="stylesheet" type="text/css" href="css/flexigrid.css" />
<link rel="stylesheet" type="text/css" href="css/jquery-ui-1.7.3.custom.css" />
<script type="text/javascript" src="js/jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="js/flexigrid.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.3.custom.min.js.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#flex1").flexigrid
(
{
url: 'post2.php',
dataType: 'json',
colModel : [
{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center', hide: true},
{display: 'URL', name : 'url', width : 450, sortable : true, align: 'left'},
{display: 'File Name', name : 'filename', width : 270, sortable : true, align: 'left'},
{display: 'Availability', name : 'availability', width : 50, sortable : true, align: 'center'},
{display: 'State', name : 'state', width : 40, sortable : true, align: 'center'},
{display: 'Total Size', name : 'totalsize', width : 90, sortable : false, align: 'center'},
{display: 'Current Size', name : 'currentsize', width : 90, sortable : false, align: 'center'},
{display: 'Procent', name : 'procent', width : 40, sortable : true, align: 'center'},
{display: 'Log', width : 20, sortable : false, align: 'center'},
],
buttons : [
{name: 'Add', bclass: 'add', onpress : test},
{separator: true},
{name: 'Delete', bclass: 'delete', onpress : test},
{separator: true},
{name: 'Select All', bclass : 'selectall', onpress : test},
{name: 'DeSelect All', bclass : 'deselectall', onpress : test},
{separator: true}
],
searchitems : [
{display: 'URL', name : 'url'},
{display: 'Filename', name : 'filename', isdefault: true}
],
sortname: "state",
sortorder: "asc",
usepager: true,
title: '',
useRp: false,
rp: 10,
showTableToggleBtn: true,
singleSelect: true
}
);
});
$(document).ready(function() {
$("#myDialog").dialog({
autoOpen: false,
resizable: false,
position: 'center',
stack: true,
height: 'auto',
width: 'auto',
modal: true
});
$("#showDialog").button().click(function (event) {
$("#myDialog").dialog('open');
});
});
function test(com,grid)
{
if (com=='Add') {
$("#myDialog").dialog('open');
}
if (com=='Select All')
{
$('.bDiv tbody tr',grid).addClass('trSelected');
}
if (com=='DeSelect All')
{
$('.bDiv tbody tr',grid).removeClass('trSelected');
}
if (com=='Delete')
{
if($('.trSelected',grid).length>0){
if(confirm('Delete ' + $('.trSelected',grid).length + ' items?')){
var items = $('.trSelected',grid);
var itemlist ='';
for(i=0;i<items.length;i++){
itemlist+= items[i].id.substr(3)+",";
}
$.ajax({
type: "POST",
url: "delete.php",
data: "items="+itemlist,
success: function(data){
$('#flex1').flexReload();
alert(data);
}
});
}
} else {
return false;
}
}
}
</script>
</head>
<body>
<table id="flex1" style="display:none"></table>
<div id="myDialog" style="display:none" title=""></div>
</body>
</html>
LE2:如何加载外部文件直通AJAX:
$(document).ready(function(){
//define config object
var dialogOpts = {
modal: true,
bgiframe: true,
autoOpen: false,
height: 500,
width: 500,
draggable: true,
resizeable: true,
open: function() {
//display correct dialog content
$("#myDialog").load("form.php");}
};
$("#myDialog").dialog(dialogOpts); //end dialog
$('#showdialog').click(function (event){
$("#myDialog").dialog("open");
return false;
}
);
});
洛伦佐嗨,可惜我不能让它开始工作,如果我复制/粘贴你的代码,网格甚至不会加载。注意确定要说什么。谢谢,C。 – Chris19 2010-10-24 13:47:47
您是否包含jQuery UI JavaScript文件和css? – Lorenzo 2010-10-24 13:52:09
看看我的最新答案 – Lorenzo 2010-10-24 14:06:57