2013-07-18 29 views
0

我正在製作一個手機應用程序與phonegap和jQuery的移動。每次我選擇一個WS調用的菜單元素,給我一個我在屏幕上顯示的答案。它完美地工作到那裏。點擊事件,但它沒有顯示在屏幕

因爲我想要更好的視圖,所以我使用代碼觸發器('創建')。 (http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-checkboxes.html但insted的刷新我必須作出一個創建)

var listadohtml = '<div data-role="fieldcontain"><fieldset data-role="controlgroup">'; 
for (var i=0;i<resultado.length;i++){ 
    var item = ''; 
    var id = resultado[i]['id']; 
    item += '<input type="checkbox" name="checkbox-'+id+'" id="checkbox-'+id+'" class="custom" />'; 
    item += '<label for="checkbox-'+id+'">'+resultado[i]["title"]+'</label>'; 

    listadohtml += item; 
} 
listadohtml += '</fieldset></div>'; 
$('#listaPreguntas').html(listadohtml).trigger('create'); 

Inmediatly之後,我的事件相關聯:

$("#listaPreguntas input[type='checkbox']").bind("click", function(event, ui) {... some code ...}); 

這表明一切正常,但問題是,有時(並不總是,這是問題)當我點擊一個複選框時,綠色的勾號沒有顯示,但事件發生了變化。當發生這種情況時,通過點擊屏幕的其他部分,我可以看到之前點擊過,因爲它刷新並顯示標記。

的conclussions我有

  • 這不是因爲AVD IM使所有的測試中我的手機與Android 4.0。
  • 它似乎是我使用de觸發器時包含jquery mobile的代碼。
  • 我認爲這不是加載時間,因爲我可以等待幾年,它可能會發生。

正如你可以看到它不是一個「邏輯」問題,而是一個可用性問題。

在此先感謝!

回答

0

如果每次按照預期點擊事件,則嘗試在實際代碼中使用addClass和removeClass在代碼中設置複選框選中/未選中的類,而不是依賴於JQM。

+0

我試圖使它但它沒有工作:(尋找答案 – Yises

2

對於複選框和收音機,請使用change事件不是click。並且請記住,將事件附加到動態元素是不同的,因此我已經更新了我的答案。

Demo

$(document).on('change', '[type=checkbox]', function() { 
    // code here 
}); 
+0

謝謝你。我想,改變之前的變化事件,並有同樣的問題。 – Yises

+0

對不起@Yises,因爲它們是動態的,我會更新我的答案 – Omar

+0

我修改了我的'綁定'到你的.on('改變'...和它一樣,有時它可以工作,而其他複選框被「凍結」直到我點擊屏幕的另一側(並且事件發生了出現勾號)。謝謝! – Yises

相關問題