2016-04-12 7 views
0

Nach dem Zuweisen von Werten aus einer HTML5-DB-Tabelle. Alle Werte werden korrekt angezeigt, aber die Checkbox, ich gebe den Wert "wahr" oder "falsch".JQuery Mobile-Kontrollkästchen wird nicht korrekt angezeigt

function loadDTValues(v1) { 
    db.transaction(function (tx) { 
     tx.executeSql('SELECT * FROM CourseDataTable', [], function (tx, results) { 
      $('#coursemenu').val(results.rows.item(v1).t_coursemenu).change(); 
      $('#checkbox1_2').val(results.rows.item(v1).t_checkbox1_2).selectmenu('refresh'); 
      $('#functionmenu').val(results.rows.item(v1).t_functionmenu).change(); 
      $('#startdate').val(results.rows.item(v1).t_startdate); 
      $('#enddate').val(results.rows.item(v1).t_enddate); 
      $('#courselocation').val(results.rows.item(v1).t_courselocation).change(); 
      $('#courseteacher').val(results.rows.item(v1).t_courseteacher).change(); 
      $('#comment').val(results.rows.item(v1).t_comment); 
      $('#dt_id').val(results.rows.item(v1).t_id); 
     }); 
    }); 
}; 

Antwort

1

Für Kontrollkästchen sollten Sie die geprüfte Eigenschaft nicht val und dann das checkboxradio Widget aktualisieren (nicht selectmenu).

$("#checkbox1_2").prop("checked", true).checkboxradio("refresh"); 
+0

Also änderte ich Ihren Code $ ("# checkbox1_2") prop ("checked", results.rows.item (v1) .t_checkbox1_2) .checkboxradio ("refresh", true); also würde sich der Wert basierend auf der Tabelle von true o false ändern. Es funktioniert immer noch nicht. Es wird jetzt true angezeigt, auch wenn der Wert falsch ist. – GlenS

+0

Das ist mein Hack ... Hinzufügen einer if else-Anweisung, um den Wert zu testen und dann Ihren Befehl zu verwenden. Vielen Dank für deine Hilfe! – GlenS

+0

var v2 = Ergebnisse.Zeile.Item (v1) .t_Checkbox1_2; . If (v2 == "true") { \t \t \t \t \t $ ("# checkbox1_2") prop ("geprüft", true) .checkboxradio ("refresh", true); \t \t \t \t} else { \t \t \t \t \t $ ("# checkbox1_2") prop ("geprüft", false) .checkboxradio ("refresh", true). \t \t \t \t}; – GlenS