在我的HTML页面中,我有两组基于布尔的单选按钮:标签:"是"和"否"/值:分别为True和False.我正在填充PostgreSQL数据库表中的完整表单,以允许经过身份验证的用户查看带有填充数据的表单,并编辑包含单选按钮的填充字段,然后保存将数据保存到数据库的表单.所有其他文本字段填充没有问题; 这是收音机按钮的集合我有一个问题,预先勾选单选按钮.
下面没有预先填充前端检查的内容(但添加了HTML源中已检查的正确属性):
<input id="billing-no" type="radio" name="billing" ng-model="person.billing" value="FALSE" ng-checked="person.billing == 'false'" />
<input id="billing-yes" type="radio" name="billing" ng-model="person.billing" value="TRUE" ng-checked="person.billing == 'true'" />
Run Code Online (Sandbox Code Playgroud)
但是,这会在加载时检查正确的单选按钮:
<input id="billing-no" type="radio" name="billing" value="FALSE" ng-checked="person.billing == 'false'" />
<input id="billing-yes" type="radio" name="billing" value="TRUE" ng-checked="person.billing == 'true'" />
Run Code Online (Sandbox Code Playgroud)
注意:我需要检查指令ng-checked中的字符串boolean值,因为boolean值总是以PostgreSQL中的字符串形式返回.显然,当从具有布尔数据类型的列查询数据时,这是PostgreSQL设计的一部分.
添加ng-model指令时,不再选中单选按钮(至少在渲染的浏览器视图中).奇怪的是我查看了源代码,它清楚地检查了正确的一个.更奇怪的是,我必须两次单击单选按钮才能"检查"它.我已经在最新版本的Chrome,FF和IE中对此进行了测试,这一切都导致了同样的问题.
问题是:在添加ng-model指令时,为什么HTML源会在单选按钮属性中添加"已检查",但似乎没有标记单选按钮?此外,为什么我必须在应该检查的单选按钮上单击两次?
解决方案: 为了解决这个问题,我从单选按钮中删除了ng-checked指令,并且只使用了@Cypher和@aet建议的ng-model.然后我用指令ng-value"true"和"false" 替换了属性值.之后,我在控制器中设置了值.
HTML
<input id="billing-no" type="radio" name="billing" ng-model="person.billing" ng-value="false" />
<input id="billing-yes" type="radio" name="billing" ng-model="person.billing" ng-value="true" />
Run Code Online (Sandbox Code Playgroud)
Angular JS
app.controller('peopleCtrl', function($scope, peopleFactory){
... …
Run Code Online (Sandbox Code Playgroud) 我正在使用ng-flow在我的AngularJS应用程序中上传文件.我能够通过ng-flow成功保存数据并上传多个文件.但是,在查询数据并通过JSON获取数据时,我不确定如何将文件添加到每行的ng-flow对象中.每个文件都是基于JSON字符串的64位编码.
为了澄清,我每个井都很好,每个井都有一个名称,位置,许可等,以及多个图像.除了图像之外,井中的所有属性都成功填充在DOM中.
HTML:
...
<div flow-init flow-name="well.flow">
<span class="btn" flow-btn flow-attrs="{accept:'image/*'}">Upload File</span>
<table>
<tr ng-repeat="file in well.flow.files">
<td>{{ $index+1 }}</td>
<td>{{ file.name }}</td>
<td>{{ file.msg }}</td>
<td><span ng-click="file.cancel()"><i class="icon-remove"></i></span></td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
在AngularJS控制器内:
wellsFactory.getData($scope.wellsParams).then(function(data){
angular.forEach(data.wells, function(wells, wKey){
if(wells.files){
var list = [];
angular.forEach(wells.files, function(files, fKey){
var binaryFile = atob(files.file);
var byteNumbers = new Array(binaryFile.length);
for (var i = 0; i < binaryFile.length; i++) {
byteNumbers[i] = binaryFile.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var blob = new Blob([byteArray.buffer], …
Run Code Online (Sandbox Code Playgroud) 我们有一个较旧的REE rails应用程序,我在OSX Yosemite的本地开发环境中工作.我最近从小牛队转投,我没有遇到任何问题.我第一次在我的新工作mac上运行这个应用程序,发现我无法登录,因为它抛出一个段错误并退出本地webrick服务器.经过一番调查,我找到了罪魁祸首:
digest = Digest::SHA512.hexdigest('some_arbitrary_value')
Run Code Online (Sandbox Code Playgroud)
经过进一步调查,我发现这行代码会引发以下错误:
[BUG] Segmentation fault
ruby 1.8.7 (2013-06-27 MBARI 8/0x6770 on patchlevel 374) [i686-darwin14.3.0], MBARI 0x6770, Ruby Enterprise Edition 2012.02
Run Code Online (Sandbox Code Playgroud)
...并退出ruby控制台.
ruby版本1.8.7和REE都在我的OSX Yosemite机器上产生了这个问题.Ruby版本1.9.3和更新版本似乎产生了预期的哈希没有错误.
从OSX Mavericks转换到Yosemite之后为什么会Digest::SHA512.hexdigest
产生[BUG] Segmentation fault
错误?
segmentation-fault ruby-enterprise-edition rvm ruby-1.8.7 osx-yosemite
我已经构建了一个应该在终端中运行的ruby脚本.
$ ruby script.rb
Run Code Online (Sandbox Code Playgroud)
我有一些特定于更新版本的ruby的代码,所以我在页面顶部添加了一个ruby版本检查:
abort("You're using ruby #{RUBY_VERSION}. Please use version 2.1 or newer") if (RUBY_VERSION.to_f < 2.1)
Run Code Online (Sandbox Code Playgroud)
我仔细检查了代码行irb
,似乎在通过RVM更改ruby版本时工作.
但是,当我运行ruby脚本文件,比如ruby 1.8.7时,脚本会出现以下错误:
$ ruby script.rb
script.rb:6: odd number list for Hash
option1: 'some options',
^
script.rb:6: syntax error, unexpected ':', expecting '}'
option1: 'some options',
^
script.rb:6: syntax error, unexpected ',', expecting $end
Run Code Online (Sandbox Code Playgroud)
如果我没有在文件顶部进行版本检查,这将是预期的行为.
为什么版本检查在下一行代码之前没有执行?有没有办法在继续执行其余代码之前强制执行ruby检查?
我的完整档案是:
#!/usr/bin/env ruby
abort("You're using ruby #{RUBY_VERSION}. Please use version 2.1 or newer") if (RUBY_VERSION.to_f < 2.1)
options = {
option1: 'some options', …
Run Code Online (Sandbox Code Playgroud) 我需要从类型文本的每个输入中获取最后一个括号名称.
例如:
<input type='text' name='order[bill_address_attributes][firstname]' />
<input type='text' name='order[bill_address_attributes][lastname]' />
<input type='text' name='order[bill_address_attributes][phone]' />
Run Code Online (Sandbox Code Playgroud)
想要的结果:
firstname
lastname
phone
Run Code Online (Sandbox Code Playgroud)
我可以name
通过循环遍历获取属性的完整字符串值$('input').each()
我是否需要在.each()
使用正则表达式中修改输出字符串,或者使用jQuery有更好的方法吗?
angularjs ×2
javascript ×2
base64 ×1
boolean ×1
flow-js ×1
forms ×1
jquery ×1
json ×1
osx-yosemite ×1
postgresql ×1
radio-button ×1
regex ×1
ruby ×1
ruby-1.8.7 ×1
rvm ×1
terminal ×1