我正在使用Datatables来显示一些数据.我还有用于向数据添加新行的输入.当我添加这一行时,我重新初始化表,它会根据我给出的排序规则自动对新行进行排序.我的问题是:有没有办法按照当前正在查看的顺序从表中获取数据?每当我尝试时
$('#tableCompetitors').dataTable().fnGetData(),它会按照添加到表中的顺序向我提供数据,而不是按顺序显示的数据.
那么有一种简单的方法可以做我想要的吗?
PS如果有帮助.原始数据源是从文本框提供的数组数组.我解析它,将其推送到一个数组,然后使用该数组作为数据源.
function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
以上是我为验证一些输入而编写的函数.我想要所有正整数.我面临的问题是使用RegExp对象.这似乎应该是超级简单的,但由于某种原因,它不起作用.
例如,如果我通过'f5',我会得到真的,但如果我通过'5f',我就会变错.传递负数时我也遇到了问题.即使我在将变量传递给RegExp之前对变量进行了字符串化,-3也不会被捕获.我可以通过&&parseInt(theNumber)>0在if语句中添加' ' 来解决这个问题,但我觉得RegExp也应该抓住它.提前致谢!
我正在使用knockoutjs创建一个分区的树视图.每个节点旁边将有三个按钮:1)新子节点(适用于它旁边的节点2)删除(这将删除它旁边的节点,以及3)复制,复制节点及其所有子节点并创建新节点父节点下的节点.
我已经按下了New按钮,现在我正在处理删除按钮.我似乎无法让它工作,而不是做任何有用的事情只是刷新整个页面.这是代码:
视图:
<h2>Skill & Weight Divisions</h2>
<span data-bind="text: tournamentname"></span><button data-bind="click: addDivision"><img src="new.png"/></button>
<ul data-bind="template: { name: 'divisionTemplate', foreach: divisions }"></ul>
Run Code Online (Sandbox Code Playgroud)
模板:
<script id="divisionTemplate" type="text/html">
<li data-bind="style: {'background-color':color}">
<input data-bind="value: name"/><button data-bind="click: addDivision"><img src="new.png"/></button><button data-bind="click: $parent.removeDivision"><img src="remove.png"/></button><button data-bind="click: $parent.copyDivision"><img src="copy.png"/></button>
<ul data-bind="template: { 'if': children, name: 'divisionTemplate', foreach: children }"></ul>
</li>
</script>
Run Code Online (Sandbox Code Playgroud)
查看模型和适当的辅助函数:
function division(id, name, filter, children) {
this.id = ko.observable(id);
this.name = ko.observable(name);
this.filter = ko.observable(filter)
if(children){
this.children = ko.observableArray(children);
}else{
this.children = ko.observableArray();
}
this.addDivision = function(){ …Run Code Online (Sandbox Code Playgroud) function tournamentViewModel(){
var self= this;
self.name = ko.observable();
self.districts = ko.observableArray([new district('Provo',1),new district('Salt Lake City',2),new district('St. George',3)]);
self.district = ko.observableArray();
self.regions = ko.observableArray([new region('Utah',1),new region('Idaho',2)]);
self.region = ko.observableArray();
self.location = ko.observable();
self.date = ko.observable();
self.startTime = ko.observable();
self.image = ko.observable();
self.flyer = ko.computed(function(){return '<h1>'+self.name+'</h1>'+self.image},self);
self.clearImage = function(){
self.image('');
}
self.tournamentID = ko.computed(function(){return 't_'+self.district+'_'+self.region+'_'+self.date}, self);
};
Run Code Online (Sandbox Code Playgroud)
上面的knockout.js视图模型似乎很好,除非我想将某些东西绑定到计算的observable flyer.相反,我看到的只有以下文字:
<h1>function c(){if(0<arguments.length){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))c.I(),d=arguments[0],c.H();return this}a.U.La(c);return d}</h1>function c(){if(0<arguments.length){if(!c.equalityComparer||!c.equalityComparer(d,arguments[0]))c.I(),d=arguments[0],c.H();return this}a.U.La(c);return d}
Run Code Online (Sandbox Code Playgroud)
我不知道这里发生了什么.下面是我正在应用它的绑定.我已经尝试过html和文本绑定.
<span data-bind="text: flyer"></span>
Run Code Online (Sandbox Code Playgroud)
BTW计算的observable tournamentID工作得很好,语法看起来很相似.我认为当我self.name在计算的observable中使用时会出现问题.有任何想法吗?
$("#tournamentDesignTabs").tabs();
$("#tournamentDesign").validate();
$("#createTournament").click(function(){
if($("#tournamentDesign").validate()){
$.post(
"createTournament.php",
{tournamentName: $("#tournamentName").val(), district: $("#district").val(), region: $("#region").val(), location: $("#location").val(), date: $("#date").val(), time: $("#time").val(), logo: $("#logo").val()},
function(responseText){
$("#result").html(responseText);
},
"html" )
} else {
alert("oh no");
}
}
);
Run Code Online (Sandbox Code Playgroud)
以上是我用来验证一些表单信息然后将其输入数据库的脚本。我遇到的问题是验证函数在附加到跨度的点击事件处理程序时似乎没有做任何事情。我还注意到 onfocusout 似乎也不正常。关于我做错了什么的任何建议或想法。我知道我正确地包含了插件,因为当我提交表单时验证功能仍然有效。不过我更喜欢ajax。谢谢!
编辑:正如下面的一个答案所说,他们认为拥有 html 会有所帮助,所以这里是页面。每一点代码和内容。我知道它又脏又乱,但我正在学习,很快就会把它清理干净。反正这里是:
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<title>Tournament Designer</title>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/smoothness/jquery-ui.css" type="text/css" media="all" />
<link type="text/css" rel="stylesheet" href="stylesheet.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.js"></script>
<script type="text/javascript" src="jquery.ui.touch-punch.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<script type="text/javascript" src="code.js"></script>
</head>
<body>
<div class="topBanner">Tournament Designer</div>
<br/>
<form id="tournamentDesign" method="post" …Run Code Online (Sandbox Code Playgroud) 好的,这可能是一个基本问题,但我想要一个明智的答案,我似乎无法通过谷歌获得正确的关键字.如果这是重复,请关闭它并指出我正确的方向.
所以这就是问题所在.在下面的代码中,当执行指向的中断时,它也会在哪里爆发?
case 'changeEmployeeInfo':
$con = db_connect(DBNAME, DBUSERNAME, DBPASSWORD , DBHOST);
$query = 'UPDATE USERS SET firstname = ?, lastname = ?, email = ? where idusers = ?';
$updateValues = array($firstName,$lastName,$email,$employeeID);
$newID = db_change($query,$updateValues,$con);
if($_SESSION['role']==1||$_SESSION['role']==3||$_SESSION['role']==4){
if($_POST['status']== true){
$status = 1;
}elseif($_POST['status']==false){
$status = 0;
}
else{
break;//<--THIS IS THE BREAK I'M TALKING ABOUT
}
$query = 'UPDATE USERS SET status = ? where idusers = ?';
$updateValues = array($status, $employeeID);
$newID = db_change($query,$updateValues,$con);
}
db_disconnect($con);
break;
Run Code Online (Sandbox Code Playgroud)
我的直觉告诉我,该db_disconnect函数仍将被执行,但 …
javascript ×4
jquery ×2
knockout.js ×2
arrays ×1
expression ×1
integer ×1
php ×1
regex ×1
validation ×1