小编Tus*_*har的帖子

选择具有optGroup的select2中的值

我将以下数据输入给select2

data = [{
    "id": "all",
    "text": "All",
    "children": [{
        "id": "item1",
        "text": "item1"
    }, {
        "id": "item2",
        "text": "item2"
    }]
}];
Run Code Online (Sandbox Code Playgroud)

我正在将select2初始化为:

$(parent).select2({"data":data});
Run Code Online (Sandbox Code Playgroud)

现在选择值" item1 ",我做到了

$(parent).select2("val",["item1"]);
Run Code Online (Sandbox Code Playgroud)

但是,不是值" item1 "值而是" 全部 "被选中.如何选择value item1?

javascript jquery jquery-select2

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

输入自动对焦属性

我的代码中有地方,我有这个:

<input data-ng-disabled="SOME_SCOPE_VARIABLE" />
Run Code Online (Sandbox Code Playgroud)

我也希望能够像这样使用它:

<input data-ng-autofocus="SOME_SCOPE_VARIABLE" />
Run Code Online (Sandbox Code Playgroud)

甚至更好,模仿ng-style的完成方式:

<input data-ng-attribute="{autofocus: SOME_SCOPE_VARIABLE}" />
Run Code Online (Sandbox Code Playgroud)

当前版本的AngularJS中是否存在这种情况?我注意到代码中有一个BOOLEAN_ATTR,它获取AngularJS支持的所有attr.我不想修改它,因为害怕更改版本而忘记更新.

angularjs

23
推荐指数
3
解决办法
7万
查看次数

如何使用Lodash基于密钥合并两个集合?

我有两个集合,对象有一个公共密钥"userId".如下:

var _= require('lodash');

var a = [
  { userId:"p1", item:1},
  { userId:"p2", item:2},
  { userId:"p3", item:4}
];

var b = [
  { userId:"p1", profile:1},
  { userId:"p2", profile:2}
];
Run Code Online (Sandbox Code Playgroud)

我想基于"userId"合并它们以产生:

[ { userId: 'p1', item: 1, profile: 1 },
  { userId: 'p2', item: 2, profile:2 },
  { userId: 'p3', item: 4 } ]
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这些:

var u = _.uniq(_.union(a, b), false, _.property('userId'));
Run Code Online (Sandbox Code Playgroud)

结果如下:

[ { userId: 'p1', item: 1 },
  { userId: 'p2', item: 2 },
  { userId: 'p3', item: 4 …
Run Code Online (Sandbox Code Playgroud)

javascript collections merge lodash

23
推荐指数
4
解决办法
3万
查看次数

获取下周一的日期

如何在JavaScript中获得下周一?我在互联网上找不到任何相关内容,我也尝试过很多代码并对此有所了解但我无法真正做到这一点.

这是我的代码:

var d = new Date();
var day = d.getDay();
d = new Date(d.setDate(d.getDate() + day + (day == 0 ? -6 : 2)));
Run Code Online (Sandbox Code Playgroud)

javascript date

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

刷新iFrame(缓存问题)

我们遇到了一个奇怪的问题,我们不确定究竟是什么导致它.让我详细说明这个问题.假设我们有两个不同的html页面a.html和b.html.还有一个用index.html编写的小脚本:

<html>

<head>
    <script>
    function reloadFrame(iframe, src) {
        iframe.src = src;
    }
    </script>
</head>

<body>
    <form>
        <iframe id="myFrame"></iframe>
        <input type="button" value="Load a.html" onclick="reloadFrame(document.getElementById('myFrame'), 'a.html')">
        <input type="button" value="Load b.html" onclick="reloadFrame(document.getElementById('myFrame'), 'b.html')">
    </form>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

服务器组件不断更新文件a.html和b.html.问题是两个文件的内容在服务器端成功更新.如果我们打开,我们可以看到更新的更改,但客户端获取的旧内容未显示更新的更改.

任何的想法?

html javascript iframe

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

如何在<body>末尾的<head>添加脚本中添加脚本

客户端正在使用Sharetribe,它允许您通过管理员添加自定义JS,但仅限于头部.我希望我的脚本在jQuery之后加载,但jQuery在主体的末尾加载.如何在doc加载后编写将主要脚本添加到最后的vanilla JS?

我试过这个:

<script>
    var script   = document.createElement("script");
    script.type  = "text/javascript";
    script.src   = "http://cdn...";
    document.body.appendChild(script);

    var script2 = document.createElement("script");
    script2.type  = "text/javascript";
    script2.text  = "$(SOME.CODE.HERE);"
    document.body.appendChild(script2);
</script>
Run Code Online (Sandbox Code Playgroud)

但它在文档加载完成之前执行(特别是在jQuery可用之前).我能想到的唯一一件事是设置一个计时器,但这似乎有点儿.

有什么建议?

javascript jquery dom

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

如何'重启'angularjs应用程序

在我的AngularJS应用程序中,我有一个基于WebSocket的服务.如果WebSocket连接断开,我想完全"重启"应用程序(从$ route转到默认页面,重新创建服务等).这可以实现吗?这就是我的开始,但从那时起我不知道如何继续:

模块:

(function () {
    angular.module('mainModule', ['ngRoute'])
        .config(['$routeProvider', function ($routeProvider) {
            $routeProvider.
            when('/home', {

                templateUrl: 'partials/home.html',
                controller: 'appController'
            }).
            when('/register', {

                templateUrl: 'partials/register.html',
                controller: 'appController'
            }).
            otherwise({
                redirectTo: '/home'
            });
        }]);
}());
Run Code Online (Sandbox Code Playgroud)

服务:

(function () {

    var app = angular.module('mainModule');

    app.service('$wsService', ['$q', '$window', function ($q, $window) {

        $window.console.log("WebSocket SERVICE: started");

        var self = this;
        var ws = new WebSocket("ws://127.0.0.1:9090");
        this.isConnected = function (m) {};

        ws.onopen = function () {
            $window.console.log("WebSocket SERVICE: connected");
            self.isConnected(true);
        };

        ws.onmessage = function (m) { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

获取函数的默认值?

有没有办法在JavaScript中检索函数的默认参数值?

function foo(x = 5) {
    // things I do not control
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获得x这里的默认值?最理想的是,像:

getDefaultValues(foo); // {"x": 5}
Run Code Online (Sandbox Code Playgroud)

请注意,toString该函数不起作用,因为它会在非常量的默认值上中断.

javascript default-arguments ecmascript-6

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

替换,(逗号)by.(点)和.(点)by,(逗号)

我有一个字符串"1,23,45,448.00",我想用小数点替换所有逗号,用逗号替换所有小数点.

我要求的输出是"1.23.45.448,00"

我试图取代,通过.如下:

var mystring = "1,23,45,448.00"
alert(mystring.replace(/,/g , "."));
Run Code Online (Sandbox Code Playgroud)

但是,在那之后,如果我尝试.,它替换它也会替换第一个被替换.,导致输出为"1,23,45,448,00"

javascript regex

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

event.target.classList没有indexOf方法

<script src="jquery.js"></script>
<button class="hello bello jello">start text</button>
<script>
$("button").on("click", function(event) {
    var lo = event.target.classList
    console.log(lo.indexOf("hello"))
})
</script>
Run Code Online (Sandbox Code Playgroud)

我期望打印上面的代码片段,0但它抛出了一个错误lo.indexOf is not a function.

event.target.classList不是作为数组输入的吗?

javascript arrays

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