我試圖從數據庫檢索基於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