我在表单中有多个选择,我需要检查jQuery是否至少选中了所有必需的字段(required="true").
像这样的东西:
<select class="check" name="first">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="second">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="third">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select name="other">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我需要检查其类包含的所有select元素,.check并确保分配了所有必需的字段.
我正在考虑如下进行.
创建所有必需值的数组:
var requiredFields = [];
$('option:selected', this).attr('required').each(function(){
requiredFields.push($(this).val());
})
Run Code Online (Sandbox Code Playgroud)创建所有选定值的数组:
var valuesSelected = …Run Code Online (Sandbox Code Playgroud)我正在使用 Electron 构建一个适用于 Windows 的应用程序。为了打包和分发它,我使用electro-builder。Electron-builder 依赖于许多软件包,并且为了自动更新,它使用Squirrel-windows。
我已经在 Windows 上与自动更新作斗争了 3 天,最后我想出了一个可行的解决方案,似乎没有任何问题。
我不会详细介绍我尝试过但失败的事情。相反,我将在这里发布我提出的解决方案。
我与你们分享它,看看你们是否可以向我指出任何会使我的系统失败的缺陷,或者,如果它确实是一个可靠的解决方案,可以帮助那些像我一样苦苦挣扎的人。由于后一个原因,我发布了一些不必要的代码,希望对其他人有所帮助。
逻辑如下:
fullupdate不存在(稍后会澄清),我们连接在线服务器并通过发送当前应用程序版本来检查是否有更新;json包含 url 的字符串,我们可以.exe从中下载electron-builder. 注意:不是.nupkg(未提供服务器代码:-))。fullupdate当前保存我们的应用程序的本地文件夹的子文件夹中。这应该是“安全的”,因为electron-builder将应用程序保存在当前用户文件夹中AppData,因此我们不应该遇到权限问题。update在文件夹内创建一个新文件fullupdate,以确保下载已成功完成。我们也可以重命名该文件,但我更喜欢这种方式。fullupdate存在,我们检查文件是否update存在。如果不存在,则下载未完成,因此我们删除该文件夹fullupdate并再次调用远程服务器重新开始。update存在,我们将启动.exe已下载的文件,并返回 true。这将阻止应用程序打开主窗口。很酷的是,更新程序将删除保存的应用程序的整个旧版本AppData(同时保留本地用户数据)并将其替换为新版本。通过这种方式,我们也将删除该文件夹fullupdate。现在的代码:
// we want to run this only on windows
var handleStartupEvent = function() …Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Angular2 通用应用程序,我正在集成ng2-translate。
服务器端我需要知道用户,这我可以从得到的语言ExpressJS通过request.acceptsLanguages()(见文档)。
我确实正确地获得了这些值,server.ts如下所示:
function ngApp(req: any, res: any) {
let supportedLangs = req.acceptsLanguages();
console.log('supportedLangs', supportedLangs);
res.render('index', {
req,
res,
ngModule: AppModule,
preboot: false,
baseUrl: '/',
requestUrl: req.originalUrl,
originUrl: req.hostname
});
}
Run Code Online (Sandbox Code Playgroud)
然后我不知道如何在我为服务器app.node.module.ts设置的地方传递它们或访问它们ng2-translate。
有没有办法从 Angular Universal 应用程序(服务器端)访问这些值?如何?
我正试图进入一个arry,其中我有来自用户输入(文本字段)的一些标记的所有latlng坐标,但我遇到了一些麻烦,因为新数据没有被推入数组.有谁知道我做错了什么?
这是我的代码:
var locations = [
new google.maps.LatLng(0.0,0.0),
];
var map;
function initialize()
{
var myLatlng = new google.maps.LatLng(0.0,0.0);
var myOptions =
{
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: locations[i],
map: map
});
}
}
function add_item(){
var item = document.frm.inputbox.value;
locations.push(item);
document.frm.outputbox.value = locations;
}
Run Code Online (Sandbox Code Playgroud)
在身体我有地图div和两个输入框:
<div id="map_canvas" style="width:750; height:500"></div>
<form name="frm">
Input<input type="text" name="inputbox" value=""/> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用http://bootswatch.com/中的一种风格.我想将他们的样式的.less版本应用于bootstrap.css.为此,我按照http://lesscss.org/#usage中的描述执行以下操作:
<link href="bootstrap.css" rel="stylesheet" type="text/css">
<link href="variables.less" rel="stylesheet/less">
<link href="bootswatch.less" rel="stylesheet/less">
<script src="less.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,即我仍然有默认的bootstrap主题.
为了简化我已经合并variables.less到bootswatch.less,所以代码现在看起来是这样的:
<link href="bootstrap.css" rel="stylesheet" type="text/css">
<link href="bootswatch.less" rel="stylesheet/less">
<script src="less.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
但我仍然得到默认的bootstrap主题.
我已经检查过调试器并且所有文件都已正确链接,所以我猜我在使用中做错了.
我正在使用DexieJS从IndexedDB获取数据。我已经对1.1.0版和1.2.0版进行了以下测试。
它对于简单查询非常有用,但是不幸的是,我无法链接多个where子句。
首先,我已经尝试过
var collection = db[table];
collection = collection.where('Field').equals("1");
return collection.count();
Run Code Online (Sandbox Code Playgroud)
那是行得通的。然后,仅在设置了给定值的情况下,才需要添加where子句:
var collection = db[table];
collection = collection.where('Field').equals("1");
if(value) collection = collection.where('Field2').above(value);
return collection.count();
Run Code Online (Sandbox Code Playgroud)
这个失败了。为了进行测试,我还尝试了:
var collection = db[table];
collection = collection.where('Field').equals("1")
.and('Field2').above(value);
return collection.count();
var collection = db[table];
collection = collection.where('Field').equals("1")
.and().where('Field2').above(value);
return collection.count();
var collection = db[table];
collection = collection.where('Field').equals("1")
.where('Field2').above(value);
return collection.count();
Run Code Online (Sandbox Code Playgroud)
这些都不起作用。我开始认为这根本不可能,但是由于该方法and()存在,因此必须有一种方法!
PS这工作:
var collection = db[table];
collection = collection.where('Field2').above(value);
return collection.count();
Run Code Online (Sandbox Code Playgroud) 有没有办法检测主进程中电子的架构?
process.platform似乎也在 x64 机器上返回 win32,并且我在文档中没有找到任何获取架构的选项。
我正在考虑实现一个函数来"构建" WHERESQL请求中的子句,如下所示:
"SELECT * FROM table $where"
Run Code Online (Sandbox Code Playgroud)
$where使用如下所示的循环构建:
$arr=array("Id"=>"1","Time"=>"12:00");
function whereBuild($arr){
foreach ($arr as $key => $val){
$result.=$key.'="'.$val.'" AND ';
}
$result = substr($result, 0, -5); // removes last AND and spaces
return $result
}
$where = whereBuild($arr);
Run Code Online (Sandbox Code Playgroud)
你怎么看?它有意义吗?它能以更简单/更好的方式实现吗?
谢谢!
前段时间查看数组排序的线程我得出了以下内容:
public function sortList(&$objects, $on, $order = 'ASC') {
$comparer = ($order === 'DESC')
? "return -strcmp(\$a->{$on},\$b->{$on});"
: "return strcmp(\$a->{$on},\$b->{$on});";
usort($objects, create_function('$a,$b', $comparer));
return $objects;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,唯一的问题是它区分大小写,而我希望它不区分大小写.没有重写整个事情会有可能吗?
我正在尝试使用Globalize进行适当的本地化自动格式化数字.当用户输入数值时,我需要Globalize来读取它,以正确的格式解析它,然后在用户输入的字段中输出它.
我试过这样:
$(document).on('change','.format-me',function(){
var value = $(this).val();
Globalize.culture("en-US");
console.log(Globalize.format(value));
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为记录的数字看起来与用户输入的数字完全相同.为什么Globalize不会根据需要更改格式?
electron ×2
javascript ×2
jquery ×2
node.js ×2
php ×2
windows ×2
angular ×1
arrays ×1
auto-update ×1
bootswatch ×1
css ×1
dexie ×1
express ×1
google-maps ×1
html-select ×1
indexeddb ×1
less ×1
localization ×1
mysql ×1
push ×1
sorting ×1
where ×1
where-clause ×1