2015-04-01 45 views
1

我所描述的這樣的複選框:淘汰賽檢查,並單擊兩個(避免雙重複選框開關)

<input id="checkbox1" type="checkbox" data-bind=" 
    click: function() { handle_compare($element) }, 
    checked: is_product_compared"> 

.handle_compare()剛剛反轉可觀察的「is_product_compared」,問題是,允許一個正常的行爲這個複選框,如果我點擊它,似乎是雙開關,我從來沒有看到變化。

如果我將handle_compare綁定到按鈕 - 一切正常,複選框會正常切換。有沒有辦法讓這兩個綁定?

你可以在這裏看到一個演示,按鈕沒問題,但複選框有錯誤的行爲。

http://jsfiddle.net/g5rpcw2c/1/

回答

2

您需要根據您在線點擊處理程序返回true:

http://jsfiddle.net/g5rpcw2c/2/

之一:

<input id="checkbox1" type="checkbox" data-bind=" 
    click: function() { handle_compare($element); return true; }, 
    checked: is_product_compared"> 

或(因爲handle_compare已經返回true):

<input id="checkbox1" type="checkbox" data-bind=" 
    click: function() { return handle_compare($element) }, 
    checked: is_product_compared"> 
+0

非常感謝,我讀到了關於返回「真實」的信息,但它被放置錯了。我希望這個答案對別人有幫助。 – xwild 2015-04-01 14:54:27