最后,我已经确定这不是我特别需要解决的问题,但是我不理解为什么会发生这种情况.
基本上,我有一些复选框,我只希望用户能够选择一定数量的复选框.我正在使用下面的代码来实现这种效果.
$j( function () {
$j('input[type=checkbox].vote_item').click( function() {
var numLeft = (+$j('#vote_num').text());
console.log(numLeft);
if ( numLeft == 0 && this.checked ) {
alert('I\'m sorry, you have already voted for the number of items that you are allowed to vote for.');
return false;
} else {
if ( this.checked == true ) {
$j('#vote_num').html(numLeft-1);
} else {
$j('#vote_num').html(numLeft+1);
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
当我测试它时,我注意到如果我使用:
$j('input[type=checkbox]').each( function () {
this.click()
});
Run Code Online (Sandbox Code Playgroud)
Javascript的反应如我所料,但是当用于:
$j('input[type=checkbox]').each( function () {
$j(this).click()
});
Run Code Online (Sandbox Code Playgroud)
它实际上会使计数器计数UP.
我确实意识到这不是使用计数器保持计数的最安全的方法,但我确实有服务器端错误检查,防止超过必要的数量输入数据库,这就是我决定的原因它实际上并不需要修复.
编辑:$ j是因为我必须在noConflict模式下使用jQuery …
所以,我正在使用Struts2的freemarker模板来制定我的回复.但是,由于我也尝试使用taconite,我需要使用"text/xml"的内容类型发送响应.我似乎无法找到一种方法来使用freemarker指令来设置内容类型,而且我并不精通struts知道是否有办法通过它来实现.
那么,我该怎么做呢?
我正在init为C++ for Linux中的initramfs 工作.此脚本用于解锁DM-Crypt w/LUKS加密驱动器,并将LVM驱动器设置为可用.
因为我不想重新实现的功能cryptsetup和gpg我使用的系统调用来调用可执行文件.使用系统调用来调用gpg工作正常,如果我已经完全启动了系统(我已经有一个基于bash脚本的initramfs可以很好地启动它,我使用grub编辑命令行来使用它来启动它旧的initramfs).但是,在initramfs中,它甚至都不会被调用.甚至命令都system("echo BLAH"); 失败了.
那么,有没有人有任何意见?
编辑:所以我想出了导致我的错误的原因.我不知道为什么它会导致错误,但我找到了它.
为了让热插拔,我需要写/sbin/mdev来/proc/sys/kernel/hotplug......不过,我结束了周围的参数开关(上的功能我写我自己不会少),所以我写/proc/sys/kernel/hotplug来/sbin/mdev.
我不知道为什么会导致这个问题,但是确实如此.
c++ ×1
freemarker ×1
gentoo ×1
java ×1
javascript ×1
jquery ×1
linux ×1
struts2 ×1
taconite ×1
xml ×1