2009-12-02 59 views

回答

0

嘗試捕獲change事件而不是click事件。

1

嘗試像

herejQuery( '#checkbox_id')ATTR( '檢查',真)。 jQuery('#checkbox_id').trigger('change');

在「iphone-style-checkboxes.js」中,change事件只能綁定。

1

我遇到了同樣的問題。 我解決了初始化複選框時添加的onChange選項,就像這樣:

$(".iPhone").iphoneStyle({ onChange : changeHandler });

希望這有助於!

2

我最終做的是向iphone-style-checkbox.js添加一個自定義事件來做到這一點。尋找這一行

iOSCheckbox.prototype.didChange = function() { 

再經過他們設置了檢查元素上的複選框

this.onChange(this.elem, this.elem.attr('checked')); 

地址:

this.elem.trigger("iphoneChange"); 

然後綁定到這個事件你只需要找到您的複選框並調用jQuery綁定函數:

$('#checkbox').bind('iphoneChange', function(e, data) {...}); 

是我唯一的工作。

3

就做這樣的

HTML

<input type="checkbox" class="iphone-checkbox" id="checkbox-id"> 

的JavaScript

$('.iphone-checkbox').iphoneStyle({onChange: function(elem, data) {alert(elem.attr('id')); alert(data);}}); 

在第一個警告信息,你會看到

checkbox-id 

而在第二

true/false(取決於複選框是否選中與否)

0

,如果您有任何困難的使用jQuery,請看看這裏http://talkerscode.com/webtricks/iphone-like-slide-toggle-button-using-jquery-and-css.php創建iphone像切換按鈕,它肯定會在哪裏解決您的問題

function on() 
{ 
    $("#inner").animate({marginLeft:'50px'},function(){ 
    document.getElementById("choose").value="on"; 
    document.getElementById("wrapper").style.background="#04B404"; 
    document.getElementById("on").checked=true; 
    document.getElementById("off").checked=false; 
    }); 
} 

function off() 
{ 
    $("#inner").animate({marginLeft:'0px'},function(){ 
    document.getElementById("choose").value="off"; 
    document.getElementById("wrapper").style.background="#E6E6E6"; 
    document.getElementById("off").checked=true; 
    document.getElementById("on").checked=false; 
    }); 
} 

<div id="checkbox_div"> 
<input type="checkbox" id="on" value="ON">ON 
<input type="checkbox" id="off" value="OFF">OFF 
</div>