I\'m working on a mobile shopping list app that is supposed to support the user when creating shopping lists.
I use the Jquery Mobile framework to achieve mobile functio
jQuery Mobile is calling controlgroup
an enhanced list of checkbox inputs
.
So you need to empty the container of your set of checkbox inputs, add the desired items and then refresh the whole controlgroup:
function makeUL(choice) {
var cases = {
"fruits": ['Banane', 'Gurke', 'Brokkoli', 'Chinakohl', 'Grünkohl', 'Eisbergsalat'],
"drinks": ['Wasser', 'Cola', 'Fanta', 'Sprite', 'Pils', 'Radler']
};
var array = cases[choice],
list = $("#list");
list.controlgroup("container").empty();
for (var i = 0; i < array.length; i++) {
var item = $("<label for='checkbox-" + i + "'>" + array[i] + "</label><input type='checkbox' id='checkbox-" + i + "'></input>");
list.controlgroup("container").append(item);
$(item[1]).checkboxradio();
}
list.controlgroup("refresh");
}
$(document).on("pagecreate", "#page-1", function() {
$("input[name*=radio-choice-wish]").click(function() {
var wish = $("input[name*=radio-choice-wish]:checked").val();
makeUL(wish);
});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page" id="page-1">
<div data-role="header" data-position="fixed">
<h1>Shopping List</h1>
</div>
<div role="main" class="ui-content">
<div class="ui-field-contain">
<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true">
<legend>I wish...</legend>
<input name="radio-choice-wish" id="radio-choice-wish-fruits" value="fruits" checked="checked" type="radio">
<label for="radio-choice-wish-fruits">Fruits</label>
<input name="radio-choice-wish" id="radio-choice-wish-drinks" value="drinks" type="radio">
<label for="radio-choice-wish-drinks">Drinks</label>
</fieldset>
</div>
<form action="demoform.asp" id="list-form" method="post" name="list-form">
<fieldset data-filter="true" data-input="#myFilter" id="list" data-role="controlgroup">
</fieldset>
</form>
</div>
</div>
</body>
</html>
Please, take a look also here: Dynamic controlgroup