小编mfl*_*din的帖子

选择optgroup中的所有选项

我有一个select分组option的元素.我需要选择(或取消)所有option以S optgroup的时候option被点击.我还需要能够同时选择多个optgroups.

我希望它的工作方式是:

  • 如果未选择任何内容,我想单击一个选项并选择同一选项组中的所有选项.
  • 如果已经选择了一个或多个optgroup,我想在另一个optgroup中单击一个选项,而是选择所有这些选项.
  • 如果已经选择了一个或多个optgroup,我希望能够按住Ctrl键单击未选择的optgroup中的选项,并选择该optgroup中的所有选项.
  • 如果已经选择了一个或多个optgroup,我希望能够按住Ctrl键单击所选optgroup中的选项,并取消选择该组中的所有选项.

查看Stack Overflow上的其他答案,我创建了以下内容:

HTML:

<select multiple="multiple" size="10">
    <optgroup label="Queen">
        <option value="Mercury">Freddie</option>
        <option value="May">Brian</option>
        <option value="Taylor">Roger</option>
        <option value="Deacon">John</option>
    </optgroup>
    <optgroup label="Pink Floyd">
        <option value="Waters">Roger</option>
        <option value="Gilmour">David</option>    
        <option value="Mason">Nick</option>                
        <option value="Wright">Richard</option>
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('select').click(selectSiblings);
function selectSiblings(ev) {
    var clickedOption = $(ev.target);
    var siblings = clickedOption.siblings();
    if (clickedOption.is(":selected")) {
        siblings.attr("selected", "selected");
    } else {
        siblings.removeAttr("selected");
    }
}?
Run Code Online (Sandbox Code Playgroud)

我在这里举了一个例子:http://jsfiddle.net/mflodin/Ndkct/ (可悲的是jsFiddle似乎不再支持IE8了.)

这在Firefox(16.0)中按预期工作,但在IE8中它根本不起作用.从其他答案我发现IE8无法处理click事件 …

html javascript jquery

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

是否可以将Dojo与其他JS框架结合起来?

我们使用Dojo(1.9.3)作为构建单页面应用程序的JS框架.然而,我们在Dojo的怪癖上花费了太多时间,所以即使是简单的任务也需要很长时间才能实现.由于缺乏适当的文档,我们经常不得不求助于阅读源代码然后实现变通方法.

我觉得如果我们转移到其他框架,我们会加快开发速度,并且更容易维护代码.我们的代码库相当大,因为它是一个复杂的应用程序,所以我们没有时间重新编写整个事物.因此,我希望将Dojo与其他框架结合起来是可能的,这样我们就可以逐步远离Dojo.我在业余时间只涉及这些其他框架,并且只编写了一些小的示例应用程序,所以我觉得我不能真正说出它们是否能与其他框架很好地配合,所以我希望有些你在那里可以.

我一直在研究的框架 - 根据我的简短调查按照我喜欢的顺序,但我可以自由地说服我.

  1. 应对
  2. 聚合物
  3. Angular(最后因为我害怕主要的2.0大修)

虽然主要的问题是它是否可行,但如果您认为这样做是个坏主意,请提供建议.

javascript dojo web-frameworks web-frontend

11
推荐指数
2
解决办法
3675
查看次数

有没有办法在TFS 2010中查看整个项目的历史时间表

我想在TFS 2010中查看整个项目的分支历史.这在我使用过的所有其他版本控制系统中都是可能的(Git,Mercurial,SVN).像这样:http: //web.uvic.ca/~arasbm/ProjectSummery/linuxBranches.png

我知道可以查看特定变更集的时间轴(跟踪变更- >时间轴跟踪),或查看简单列表中的整个历史记录(查看历史记录).我基本上希望这两个功能结合起来.这在TFS 2010中是否可行?

visualization visual-studio-2010 tfs2010

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

为什么ReSharper在将属性转换为自动属性时需要扫描所有文件?

访问具有支持字段的属性之间是否有任何区别

    private int _id;
    public int Id
    {
        get { return _id; }
        set { _id = value; }
    }
Run Code Online (Sandbox Code Playgroud)

与自动财产?

public int Id { get; set; }
Run Code Online (Sandbox Code Playgroud)

我问的原因是,当让ReSharper将属性转换为自动属性时,它似乎扫描了我的整个解决方案,或者至少扫描了所有的aspx文件.

我看不出有什么理由说为什么两人在课外都应该有任何区别.在那儿?

.net c# asp.net resharper automatic-properties

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

如何在 Remix.run 开发模式下使用内存缓存?

我需要从一个非常慢且很少变化的 API 获取数据,所以我想我应该使用内存缓存。我首先尝试了一种非常简单的方法,只需将其保存到路径中加载器函数范围之外的变量中:

let cache;

export const loader = async () => {
  if (!cache) {
    // we always end up here
    cache = await (await fetch("...)).json()
  }
}
Run Code Online (Sandbox Code Playgroud)

但这没有用。然后我尝试了一个适当的缓存库(lru-cache),但该缓存也始终是空的。然后我意识到整个文件在每个请求上都会重新加载,我猜这是开发模式的事情,所以我尝试将缓存的创建移动到一个单独的文件cache.server.ts并从那里导入它。

import LRU from "lru-cache";
console.log("Creating cache"); // this is logged on each request
const cache = new LRU({ max: 200 });
export default cache;
Run Code Online (Sandbox Code Playgroud)

但该文件似乎也会根据每个请求重新加载。

如果我构建一个生产版本并运行一切都很好,但如果有某种方法让它在开发模式下工作也很好。

javascript caching reactjs remix.run

4
推荐指数
2
解决办法
3594
查看次数