小编RNi*_*ess的帖子

使用ng-model检查的单选按钮

在我的HTML页面中,我有两组基于布尔的单选按钮:标签:"是"和"否"/值:分别为TrueFalse.我正在填充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)

postgresql boolean radio-button angularjs angular-ngmodel

15
推荐指数
2
解决办法
17万
查看次数

使用json中的ng-flow.js填充图像文件

我正在使用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)

javascript base64 json angularjs flow-js

7
推荐指数
1
解决办法
8216
查看次数

Ruby Digest :: SHA512.hexdigest抛出一个段错误并退出Yosemite

我们有一个较旧的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

3
推荐指数
1
解决办法
661
查看次数

Ruby cmd行脚本不连续地执行代码

我已经构建了一个应该在终端中运行的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)

ruby terminal

2
推荐指数
1
解决办法
45
查看次数

使用jQuery获取每个html输入的最后一个括号名称

我需要从类型文本的每个输入中获取最后一个括号名称.

例如:

<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有更好的方法吗?

javascript regex forms jquery

1
推荐指数
1
解决办法
586
查看次数