小编Cab*_*ero的帖子

jQuery"on create"事件,用于动态创建的元素

我需要能够动态创建<select>元素并将其转换为jQuery .combobox().这应该是元素创建事件,而不是某些"click"事件,在这种情况下我可以使用jQuery .on().

这样的事情存在吗?

$(document).on("create", "select", function() {
    $(this).combobox();
}
Run Code Online (Sandbox Code Playgroud)

我不愿意使用livequery,因为它已经过时了.

更新提到的select/combobox通过ajax加载到jQuery颜色框(模态窗口),因此问题 - 我只能使用colorbox启动组合框onComplete,但是在更改一个组合框时,必须动态创建另一个select/combobox,因此我需要一个检测元素创建的更通用方法(select在本例中).

UPDATE2为了尝试进一步解释问题 - 我有select/combobox递归创建的元素,里面还有很多启动代码.combobox(),因此如果我使用经典的方法,比如在@ bipen的答案中,我的代码会膨胀到疯狂的级别.希望这能更好地解释问题.

UPDATE3感谢大家,我现在明白,因为DOMNodeInserted在DOM变异中遗漏了一个空白,并且没有解决这个问题的方法.我只需要重新考虑我的申请.

javascript jquery combobox

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

MySQL:仅在满足条件时更新字段

是否可以在MySQL中执行UPDATE查询,只有在满足某些条件时才更新字段值?像这样的东西:

UPDATE test
SET
    CASE
        WHEN true
        THEN field = 1
    END
WHERE id = 123
Run Code Online (Sandbox Code Playgroud)

换一种说法:

UPDATE test
SET
    something = 1,        /*field that always gets updated*/
    CASE
        WHEN true
        THEN field = 1    /*field that should only get updated when condition is met*/
    END
WHERE id = 123
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

mysql if-statement sql-update

57
推荐指数
3
解决办法
11万
查看次数

如何在数组,向量或切片中找到元素的索引?

我需要在字符串向量中找到元素的索引.这是我到目前为止所得到的:

fn main() {
    let test: Vec<String> = vec![
        "one".to_string(),
        "two".to_string(),
        "three".to_string(),
        "four".to_string(),
    ];

    let index: i32 = test
        .iter()
        .enumerate()
        .find(|&r| r.1.to_string() == "two".to_string())
        .unwrap()
        .0;
}
Run Code Online (Sandbox Code Playgroud)

它会产生错误:

error[E0308]: mismatched types
  --> src/main.rs:9:22
   |
9  |       let index: i32 = test
   |  ______________________^
10 | |         .iter()
11 | |         .enumerate()
12 | |         .find(|&r| r.1.to_string() == "two".to_string())
13 | |         .unwrap()
14 | |         .0;
   | |__________^ expected i32, found usize
Run Code Online (Sandbox Code Playgroud)

我认为这是因为enumerate()返回一个元组(usize, _)(如果我错了,请纠正我),但是如何转换usize …

rust

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

Scala案例匹配默认值

如何在匹配情况下获取默认值?

//Just an example, this value is usually not known
val something: String = "value"

something match {
    case "val" => "default"
    case _ => smth(_) //need to reference the value here - doesn't work
}
Run Code Online (Sandbox Code Playgroud)

更新:我看到我的问题并没有被真正理解,这就是为什么我展示了一个更接近我正在研究的真实事物的例子:

val db =    current.configuration.getList("instance").get.unwrapped()
            .map(f => f.asInstanceOf[java.util.HashMap[String, String]].toMap)
            .find(el => el("url").contains(referer))
            .getOrElse(Map("config" -> ""))
            .get("config").get match {
                case "" => current.configuration.getString("database").getOrElse("defaultDatabase")
                case _  => doSomethingWithDefault(_)
            }
Run Code Online (Sandbox Code Playgroud)

scala

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

Java未捕获全局异常处理程序

我有一个应用程序,需要编写自定义全局未捕获异常处理程序.我已经阅读了所有的stackoverflow线程,并且每个线程都缺少一个如何实现它的简单明了的例子.

请考虑以下简单示例:

public static void log(String msg) throws Exception {

    String logPath = "/application/logs/java.log";

    Calendar c = new GregorianCalendar();
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String now = format.format(c.getTime());

    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(logPath, true)));
    out.println(now + "  " + msg);
    out.close();

}
Run Code Online (Sandbox Code Playgroud)

它抛出一个标准异常,这只是一个标准输出.我如何实现我自己的异常,通过将错误输出到日志文件中的简单方法覆盖标准异常?显然,实际的应用程序要大得多,我们正在谈论未捕获的异常,这就是为什么try/catch块不是选项.

更新:如果你能用一个非常明确的完整例子来回答,因为我发现了几个像@RamonBoza提供的例子,但我不知道如何实现它们,这就是这个问题的全部内容.

更新2:所以我试着在下面的答案中测试唯一的例子,它显然不起作用.我创建了一个新的类文件"MyRunnable"并将代码粘贴到其中:

package mypackage;

Thread t = new Thread(new MyRunnable());
t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

    public void uncaughtException(Thread t, Throwable e) {
       LOGGER.error(t + " throws exception: " + e);
    }
});
t.start();

//outside …
Run Code Online (Sandbox Code Playgroud)

java exception-handling exception

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

Scala:将地图转换为案例类

假设我有这个示例案例类

case class Test(key1: Int, key2: String, key3: String)
Run Code Online (Sandbox Code Playgroud)

我有一张地图

myMap = Map("k1" -> 1, "k2" -> "val2", "k3" -> "val3")
Run Code Online (Sandbox Code Playgroud)

我需要在代码的几个位置将此映射转换为我的case类,如下所示:

myMap.asInstanceOf[Test]
Run Code Online (Sandbox Code Playgroud)

最简单的方法是什么?我可以以某种方式使用隐含的吗?

scala

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

Scala/Play:将JSON解析为Map而不是JsObject

在Play Framework的主页上,他们声称"JSON是一等公民".我还没有看到证据.

在我的项目中,我正在处理一些相当复杂的JSON结构.这只是一个非常简单的例子:

{
    "key1": {
        "subkey1": {
            "k1": "value1"
            "k2": [
                "val1",
                "val2"
                "val3"
            ]
        }
    }
    "key2": [
        {
            "j1": "v1",
            "j2": "v2"
        },
        {
            "j1": "x1",
            "j2": "x2"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在我知道Play正在使用Jackson来解析JSON.我在我的Java项目中使用Jackson,我会做这样简单的事情:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> obj = mapper.readValue(jsonString, Map.class);
Run Code Online (Sandbox Code Playgroud)

这样可以很好地将我的JSON解析为Map对象,这就是我想要的 - 字符串和对象的映射,并允许我轻松地将数组转换为ArrayList.

Scala/Play中的相同示例如下所示:

val obj: JsValue = Json.parse(jsonString)
Run Code Online (Sandbox Code Playgroud)

相反,这给了我一个专有JsObject 类型,这不是我真正想要的.

我的问题是:我可以在Scala/Play中解析JSON字符串Map而不是JsObject像在Java中那样容易吗?

附带问题:是否有JsObject使用MapScala/Play 而不是Scala/Play的原因?

我的堆栈:Play Framework 2.2.1/Scala 2.10.3/Java 8 64bit/Ubuntu 13.10 64bit …

java json scala playframework playframework-2.0

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

如何在Javascript中使用循环生成事件处理程序?

例如,我有一个从AJAX响应生成的10个标签:

<a href="#" id="b1">b1</a>
<a href="#" id="b2">b2</a>
<a href="#" id="b3">b3</a>
<a href="#" id="b4">b4</a>
<a href="#" id="b5">b5</a>
<a href="#" id="b6">b6</a>
<a href="#" id="b7">b7</a>
<a href="#" id="b8">b8</a>
<a href="#" id="b9">b9</a>
<a href="#" id="b10">b10</a>
Run Code Online (Sandbox Code Playgroud)

我需要通过循环为每个人分配onclick事件:

for(i=1; i<11; i++) {
    document.getElementById("b"+i).onclick=function() {
        alert(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,它只分配onclick到最后一个标签并提醒"11".我怎样才能让它发挥作用?我宁愿不使用jQuery.

javascript

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

"使用不稳定的库特征'集合'"每晚使用

这个

fn main() {

    let test = "Foo".to_string();
    test.to_lowercase();

}
Run Code Online (Sandbox Code Playgroud)

产生错误

error: use of unstable library feature 'collections'
       test.to_lowercase();
            ^~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

但我正在使用

rustc 1.2.0-nightly (f76d9bcfc 2015-05-28) (built 2015-05-28)
Run Code Online (Sandbox Code Playgroud)

并根据http://doc.rust-lang.org/1.0.0/book/release-channels.html每晚启用不稳定功能.我也试过稳定版和测试版,但错误完全相同.那么这里的问题是什么?

rust

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

是否可以在Rust中打印一个用千位分隔符格式化的数字?

例如

println!("{}", 10_000_000);
Run Code Online (Sandbox Code Playgroud)

结果是

10000000
Run Code Online (Sandbox Code Playgroud)

而我想把它格式化为类似的东西

10,000,000
Run Code Online (Sandbox Code Playgroud)

我浏览fmt模块文档,但没有什么可以涵盖这种特殊情况.我认为这样的事情会起作用

println!("{:,i}", 10_000_000);
Run Code Online (Sandbox Code Playgroud)

但它会引发错误

invalid format string: expected `}`, found `,`
Run Code Online (Sandbox Code Playgroud)

rust

15
推荐指数
3
解决办法
4083
查看次数