2016-12-02 37 views
0

我已經搜索網,並試圖提到不同的方法,但點擊功能有時火災,有時沒有。數據綁定上點擊有多個參數的函數淘汰賽

這裏是我的html代碼

   <input type="radio" data-bind="checked:a,checkedValue: 0, click: radio('dance','a')" id="a_normal" ><span class="OptionsTextProperties"> Normal </span> 

       <input type="radio" data-bind="checked:a, checkedValue: 1 , click: radio('dance','a')" id="a_abnormal" ><span class="OptionsTextProperties"> Abnormal </span> 

這裏是我試圖調用

radio : function(key,key1) 
    { 
     console.log(key,key1); 
     return;   
    }, 

大部分的時間上面的函數火災的功能,但有時當我按一下按鈕沒有任何反應。 我也用綁定但也不至於檢查的單選按鈕。不確定是什麼問題。我也在這裏通過了很多鏈接在stackoverflow。也許我做了一些我不能指出的錯誤。 感謝您的幫助

+0

它似乎工作的小提琴。 https://jsfiddle.net/gqaLcapv/1/ click事件觸發始終。 – Adrian

+0

嘿阿德里安,它大部分時間都在工作......即使我在小提琴中試過,它效果很好。由於 – user6000866

回答

0

radio('dance','a')必須返回一個函數,如果你想在click數據綁定中使用它。

更重要的是:你不應該綁定到一個複選框click事件。您可以使用鍵盤選中複選框;你會想念那些。

隨着淘汰賽,這是更好地subscribe的數據綁定值:

var vm = { 
 
    checked: ko.observable(false) 
 
}; 
 

 
vm.checked.subscribe(function onCheck() { 
 
    console.log("Click!"); 
 
}); 
 

 
ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 

 
<label> 
 
    <input type="checkbox" data-bind="checked: checked"> 
 
    A checkbox 
 
    </label>

如果需要通過一個事件綁定,我建議使用change事件。

+0

我需要做點擊約束力的,因爲我在後臺做了很多事情被點擊的單選按鈕時。我會嘗試使用訂閱的解決方案。謝謝 – user6000866