小编PSL*_*PSL的帖子

选择具有异国情调ID的元素

我正在研究在id参数中使用方括号的遗留系统.例如:

<select id="mySelect[]">
  <option value="1">Yadda</option>
  <option value="2">Yadda</option>
  <option value="3">Yadda</option>
</select>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用这个id时,jQuery(正在javaScript)非常正确地抱怨

$("#mySelect[]").append(options);
Run Code Online (Sandbox Code Playgroud)

鉴于我无法更改遗留代码,因此我坚持使用现有的id(在任何上下文中可能有效,也可能无效),解决这个问题的好方法是让我选择我的元素?

html javascript jquery dom jquery-selectors

6
推荐指数
2
解决办法
232
查看次数

Jquery自动完成匹配字符串中的多个无序单词

我试图显示输入的搜索词的最佳匹配.例如

现在Jquery没有给我预期的效果.当我输入:今天一个自动完成将显示任何内容,但如果我键入一天,它将显示以该顺序中的这两个单词开头的搜索结果.我想今天出现的一天是今天的第一天和最后一天.我希望搜索结果显示在其中包含这些单词的顺序并不重要.我在这里看了一下,却找不到这样的东西,这似乎是一种常见的搜索方法,我看不出为什么没有人问过这个问题.是否有一个内置的方法来处理这个?

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Autocomplete - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>
  $(function() {
    var availableTags = [

          "one day is the first and last today" , "tuesday is today" , "one" , "one day is tomorrow"


    ];
    $( "#tags" ).autocomplete({
      source: availableTags, multiple: true,
        mustMatch: false
    });
  });
  </script>
</head>
<body>

<div class="ui-widget">
  <label …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui

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

ng-init是否关注像ng-model这样的实例化属性的变化?

ng-init是否关注像ng-model这样的实例化属性的变化?

显然不是,所以我设置了一个如下所示的手表:

app.js

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.$watch('myProp1', function(newVal, oldVal){
    $scope.myProp1 = newVal
  })
});
Run Code Online (Sandbox Code Playgroud)

HTML

<body ng-controller="MainCtrl">
<input ng-init='myProp="my property"'>{{myProp}}</br>
<input ng-init='myProp1="my 1 property"'>{{myProp1}}</br>
<input ng-init='myProp11="my 11 property"' ng-model='myProp11'>{{myProp11}}
Run Code Online (Sandbox Code Playgroud)

这是plnkr

  1. ng-init是否关注像ng-model这样的实例化属性的变化?
  2. 如何查看ng-init实例化的属性中的更改?
  3. 上面的$ watch功能有什么问题?

angularjs angularjs-scope angularjs-ng-init angular-ngmodel

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

:带有ng-repeat的第一个孩子

我有一个ng-repeat,只想在ng-repeat中div使用类的第一个样式type.

<div class="my-list" ng-repeat="item in list">
  <div class="type">
    <span>{{item.label}}</span>
  </div>
  <div class="check">
    <span>{{item.ischecked}}</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但是它将CSS应用于所有divs类的type

.my-list .type:first-child
Run Code Online (Sandbox Code Playgroud)

css css-selectors css3 angularjs angularjs-ng-repeat

6
推荐指数
2
解决办法
7711
查看次数

如何处理drop-down angular-ui中的大项目列表?

我使用angular-ui下拉

它工作正常,但我不知道如何处理下拉菜单中的多个项目.

请考虑以下Plunker中的示例

HTML

<div class="btn-group" dropdown is-open="status.isopen">
  <button type="button" class="btn btn-primary dropdown-toggle" ng-disabled="disabled">
    Button dropdown <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu">
    <li ng-repeat="item in items"><a href="#">{{item}}</a></li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要定义滚动并缩短下拉列表.

有任何想法吗?

html css angularjs angular-ui angular-ui-bootstrap

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

使用Jasmine对$ modal进行单元测试

我有一个带控制器的Angular应用程序,它Angular-Strap在函数调用期间显示模态窗口.它在Chrome中正常运行,但我无法进行有效的单元测试.

App模块和FooController:

var app = angular.module("app", ["mgcrea.ngStrap"]);

app.controller("FooController", function($scope, $modal) {
    var fooModal = $modal({
        title: 'Foo',
        content:'Bar',
        show: false,
        html: true,
        backdrop: 'static',
        placement: 'center'});

    angular.extend($scope, {
        makeItFoo: function() {
            fooModal.show();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

控制器规格:

describe('FooController', function () {
    var scope, controller, modal;

    beforeEach(module('app', function ($provide) {
        // Stub out $modal service
        $provide.value('$modal', function () {
            return {
                hide: function () { },
                show: function () { }
            };
        });
    }));

    beforeEach(inject(function ($rootScope, $controller, $injector) {
        //set …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine angularjs angularjs-scope angular-strap

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

带有ng-include的Angular JS ng-switch?

我有3个不同的代码片段,我想根据选择菜单中的选择进行交换.

它是有效的,如果我包含内联代码,但当我尝试使用ng-includes这样的时候,我得到一个Angular错误并且应用程序失败:

      <div ng-switch on="pFilter">
      <div ng-include="'includes/parcel_details_incoming.html'" ng-switch-when="Incoming Parcels"></div>
      <div ng-include="'includes/parcel_details_forward.html'" ng-switch-when="Exception Parcels"></div>
      <div ng-include="'includes/parcel_details_exception.html'" ng-switch-default></div>
      </div>
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?ng-switch不适用于ng-includes吗?

javascript angularjs angularjs-directive

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

UI-Router并解析控制器中的未知提供程序

我在UI-Router .state()调用中使用resolve.在我的控制器中,我可以访问值没有问题,但它抛出一个错误如下:

$注射器/ unpr?P0 = ctrlOptionsProvider%20%3C-trlOptions

以下代码抛出错误但允许我访问变量ctrlOptions就好了:

.state('new_user', {
            url: "/user/new",
            templateUrl: "views/user/new.html",
            data: {pageTitle: 'New User'},
            controller: "UserController",
            resolve: {

                ctrlOptions: ['$stateParams', function($stateParams) {

                    return {

                        view: 'new_user',
                    }
                }],
                deps: ['$ocLazyLoad', function($ocLazyLoad) {
                    return $ocLazyLoad.load({ 
                        name: 'MetronicApp',  
                        insertBefore: '#ng_load_plugins_before', // load the above css files before '#ng_load_plugins_before'
                        files: [
                            '../../../assets/global/plugins/bootstrap-datepicker/css/datepicker3.css',
                            '../../../assets/global/plugins/select2/select2.css',

                            '../../../assets/global/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js',
                            '../../../assets/global/plugins/select2/select2.min.js', 
                        ]                    
                    });
                }]
            }
        })
Run Code Online (Sandbox Code Playgroud)
MetronicApp.controller('UserController', ['$rootScope', '$scope', '$http', '$stateParams', 'ctrlOptions', function($rootScope, $scope, $http, $stateParams, ctrlOptions, $timeout) {}
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

谢谢

javascript angularjs angular-ui-router

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

如何为http请求编写单元测试?

我试图在我的情况下进行单元测试服务

在我的测试控制器中

myService.getItem('/api/toy/' + scope.id).success(
   function(toy) {
       $scope.toy = toys.details;
   }
);
Run Code Online (Sandbox Code Playgroud)

为MyService

angular.module('toyApp').service('myService', ['$http',
    function($http) {
        var service = {};
        return {
            getItem: function(url) {
                return $http.get(url);
            },
        };
    }
]);
Run Code Online (Sandbox Code Playgroud)

测试文件.

describe('toy ctrl', function () {
    var $httpBackend, ctrl, myService;

    beforeEach(module('toyApp'));

    beforeEach(inject(function (_$controller_, _$httpBackend_, _$rootScope_, __myService_) {
        scope = _$rootScope_.$new();
        $httpBackend = _$httpBackend_;
        myService = _myService_;

        ctrl = _$controller_('toyCtrl', {
            $scope: scope
        });      

    }));

    describe('call my service', function() {
        it('should make request when app loads', function() {
            $httpBackend.expectGET('/api/toy/123').respond({id:123, …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jasmine angularjs karma-jasmine

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

Angularjs测试返回静态数据的简单工厂

你如何在AngularJs中模拟一个简单的Factory,它在Karma单元测试中返回静态数据?

我有这个简单的工厂,为了示例返回静态数据:

angular.module('conciergeApp.services')
       .factory('CurrentUser', function() {
        return {
            id: 1,
            hotel_id: 1,
        }
      });
Run Code Online (Sandbox Code Playgroud)

我想知道如何为此编写Karma测试?

到目前为止,我有这个代码,但id不起作用:

describe('ReplyCtrl', function() {

    beforeEach(module('conciergeApp'));

    beforeEach(module(function($provide) {
        $provide.service('CurrentUser', function() {
            return 1;
        });
    }));

    //Getting reference of the mocked service
    var mockUtilSvc;

    inject(function(CurrentUser) {
        mockUtilSvc = CurrentUser;
    });

    beforeEach(inject(function($rootScope, $controller) {
        scope = $rootScope.$new();
        ctrl = $controller('ReplyCtrl', {
            $scope: scope
        });
    }));

    it('should return value from mock dependency', inject(function(mockUtilSvc) {
        expect(mockUtilSvc()).toEqual(1);
    }));

});
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息:

Firefox 41.0.0 (Mac OS X …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine angularjs karma-runner

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