我试图从数据库检索基于Bootstrap模态和数据表的Crud菜单的输入值。随着文字输入也没有问题 - 我使用这个检索:如何将Json中的值设置为复选框?
var data_row = table.row($(this).parents('tr')).data();
$("#edit_campagne").val(data_row.campagne)
.find('option[value=" + data_row.campagne +"]').attr('selected',
true);
但随着的复选框,它更复杂 - 它们的值保存为JSON - 这样的:
{% for target in targets %} // I'm using TWIG
<div class="checkbox">
<label>
<input class="animals_input" id = "{{ animals }}"
// this generate id for each checkbox
type="checkbox" value="0" name="animals_check[{{ animals
// this save values as Json - {"dogs":"1","cats":"1"}
}}]" >{{ animals }}
</label>
</div>
{% endfor %}
所以,当我从DB retrive的复选框的值看起来像这样(1为选中):
operation_target: “{” 狗 “:” 1" , “猫”: “1”}”
现在,我想将此值设置为通过他们的ID复选框,因此,这将是这样的:
<div class="checkbox">
<label>
<input type="checkbox"
class="animals_input" value="0" id="dogs"
name="animals_check[]">Dogs // should be checked
</label>
</div>
我正在寻找这样的事情:
$(".checkbox").val(id from db)
.find(id == id from db).prop('checked', true);
下面是一个例子 - plunker
冰人,罗里McCrossan,地理乔治 - 感谢您的快速反应 - 所有你的建议的工作 - 但是从一个页面传递到另一个时复选框数据不刷新....如果在一个页面中只有一个复选框被选中 - 当我编辑另一行时 - 数据仍然会出现.... – RoyBarOn
好的,如果你改变了HTML,那么你将需要重新运行功能 – Iceman
告诉我激动人心的是如何分页发生,ajax是客户端吗? – Iceman