小编Luk*_*ann的帖子

jQuery serialize hidden(display:none)表单elemens不起作用.解决方法?

我有以下问题:

我有一个我需要序列化的表单,但我使用javascript来改变选择字段的外观.这意味着,使用display:none隐藏实际选择字段.我的问题是,jQuery确实识别隐藏的选择,但只序列化第一个值而不是选定的值.

<select name="publish">
<option value="1">yes</option>
<option value="2" selected="selected">no</option>
</select>

jQuery.serialzie:publish = 1

所以它给了我第一个而不是正确的价值.

任何解决方法的想法?

解决方案
好吧,正如RobW所提到的,最好的解决方案可能就是让JavaScript通过设置选择你想要的选项selectElement.selectedIndex = 5

然而,我的解决方案有点不同,因为我不想更改用于更改选择外观的插件,因为维护问题(例如,每次发布新版本时都需要更改脚本).我只是使用自定义函数进行序列化.

(function($) {
$.fn.serializer = function() {
    var toReturn    = [];
    var elements         = $(this).find(':input').get();
    $.each(elements, function() {
        if (this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type))) 
        {
            var val = $(this).val();
            // if is select, check selected
            if(this.nodeName == "SELECT")
            {
                val = $(this).find('option:selected').val();    
            }
            toReturn.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( val ) );
        }
    });
    return toReturn.join("&").replace(/%20/g, …
Run Code Online (Sandbox Code Playgroud)

forms jquery serialization

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

CodeIgniter库有多个实例

我的codeigniter库有问题.要将数据库数据转换为导航并具有活动元素,例如我构建了一个库类CI_Navigation().它工作得很好,我只有一个问题.

通常在网页上,人们具有相应但分离的导航,例如顶部的主导航和侧面的导航.为了解决这个问题,我可以用一个参数初始化我的类,告诉它该导航要保持哪个级别.我会做这样的事情.

$this->load->library('Navigation');

$main = $this->navigation->build( array('levels'=>array(0)) );
$sub = $this->navigation->build( array('levels'=>array(1,2)) );
Run Code Online (Sandbox Code Playgroud)

正如您所料,它不起作用,因为类中的数据保持了第一次调用构建时分配的方式.

令人遗憾的是CodeIgniter库中有单例(对吗?这就是我所读的).所以我不能将它初始化两次,如:

$this->load->library('Navigation','','main');
$this->load->library('Navigation','',sub);
Run Code Online (Sandbox Code Playgroud)

你知道我怎么能克服这个问题吗?

如果我将数组用于类中使用的变量,它应该工作吗?例如,对于选项而不是使用$ this->选项,我必须动态创建$ this - > $ option [0],$ this - > $ option [1].

这有用吗?我现在无法测试它,但今晚会这样做.但这不是一种非常优雅的方式,那么有更好的方法来解决这个问题吗?有什么方法可以多次初始化库吗?

先谢谢你们.

php oop codeigniter

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

Zepto.js选择器性能与jquery

我确实看到一些测试表明id和类选择器($(#id); $(.class))比jquery慢.

我在想:

  1. 差异显着吗?(显)
  2. 只有在循环中使用它/选择许多元素时,差异才会明显吗?

我正在考虑切换到桌面应用程序的zepto,因为我只需要现代webkit和firefox支持.

谢谢

performance jquery zepto

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

通过travis-ci运行phpspec

我试图通过travis-ci运行phpspec.

规格在我的本地机器上运行正常,但在travis上它找不到phpspec文件.

0.01s$ bin/phpspec run -v
/home/travis/build.sh: line 41: bin/phpspec: No such file or directory
The command "bin/phpspec run -v" exited with 127.
Run Code Online (Sandbox Code Playgroud)

我的travis.yml看起来像这样:

语言:php

php:
  - 5.4
  - 5.5
  - 5.6

before_script:
  - composer self-update

install:
  - composer install --prefer-source --no-interaction --dev

script:
  - bin/phpspec run -v
Run Code Online (Sandbox Code Playgroud)

我的作曲家是这样的

"require": {
    "php": ">=5.4.0",
    "illuminate/support": "4.2.*",
    "guzzlehttp/guzzle": "~4.0"
},
"autoload": {
    "psr-0": {
        "..."
    }
},
"minimum-stability": "stable",
"require-dev": {
    "phpspec/phpspec": "2.0.*@dev"
}
Run Code Online (Sandbox Code Playgroud)

有关如何使其工作的任何想法?

phpspec travis-ci

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

Mac为DMG文件创建别名,没有固定用户

我想将一个别名放到一个固定的文件夹中,即将iWorks模板文件夹放入DMG中.

目录是

/Users/USERNAME/Library/Application Support/iWork/Pages/Templates/My Templates
Run Code Online (Sandbox Code Playgroud)

我的问题是,我想把它放到DMG中,以便人们可以轻松安装模板.但是,虽然它与Application文件夹一起正常工作,但模板文件夹中始终包含我的用户名.因此,如果其他人打开它,别名用我的用户名指向dir,当然在不同的mac上不存在.

有谁知道如何解决它?

谢谢.


将所有评论结合到下面,我得到了一个按我想要的方式工作的液滴.

on open thefiles    
    set outputFolder to (path to application support folder from user domain as text) & "iWork:Pages:Templates:My Templates:"
    do shell script "/bin/mkdir -p " & quoted form of POSIX path of outputFolder
    tell application "Finder"
        duplicate thefiles to outputFolder
    end tell    
end open
Run Code Online (Sandbox Code Playgroud)

问题是,虽然它可以在我的Mac上运行,但我不能在DMG文件中使用它.我不能拖动任何东西.有任何想法吗?

谢谢到目前为止.

macos alias dmg

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

Codeigniter:多次使用$ this-> load-> database()会导致多个连接?

我正在考虑从自动加载文件中删除数据库库.我正在缓存页面上的所有内容,所以我不需要每次都连接到数据库,如果我有CI连接到数据库,我认为这是浪费速度.

我的问题现在是:如果我用例如在$this->load->database()没有参数的MY_Model中加载数据库(它们来自配置文件),是否会为我在控制器中使用的每个模型建立新连接?

或者它会像只加载一次的助手一样?

php database connection performance codeigniter

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

PHP catch无法打开流:HTTP请求失败!HTTP/1.1 401未经授权

我正在尝试执行以下操作.

当我尝试使用oAuth访问服务时,如果我收到错误,因为我使用了错误的密钥,我想不显示错误消息,而是将用户发送到身份验证页面.

但是使用try catch fn不起作用.

这是我的代码:

$url = 'https://api.soundcloud.com/me.json?'.http_build_query(array(
        'oauth_token' => $token,
    ));
    //
    try{
        $user = json_decode(file_get_contents($url));
        return array(
            'uid' => $user->id,
            'nickname' => $user->username,
            'name' => $user->full_name,
            'location' => $user->country.' ,'.$user->country,
            'description' => $user->description,
            'image' => $user->avatar_url,
            'urls' => array(
                'MySpace' => $user->myspace_name,
                'Website' => $user->website,
            ),
        );
    }
    catch(Services_Soundcloud_Invalid_Http_Response_Code_Exception $e)
    {
        log_message('error', 'EXCEPTION: '.$e);
        return FALSE;
    }
Run Code Online (Sandbox Code Playgroud)

我希望这可以返回用户数组或FALSE.

有任何想法吗?

php error-handling oauth oauth-2.0

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