从 0 和 1 的数组中恢复复选框的状态
restoring the state of checkboxes from an array of 0 and 1s
我想以 ORACLE APEX 表格形式恢复复选框的状态。
使用 APEX 行选择器 f01 在第一列中进行选择。
我将复选框状态保存在一个集合中,然后从那里保存到一个数组中
在名为 P250_JSON 的区域项目中,因此 P250_JSON 的值
是一个字符串:'[1,0,0,1,0,0,0,0,0]' 例如如果第一个和第四个
已选择行。
来自这个数组 [1,0,0,1,0,0,0,0,0]
我想以编程方式单击表格表单的第 1 行和第 4 行元素
并在需要时恢复原来的选择。
Jquery 的初学者,但我做到了这一点:
var x = $v("P250_JSON");
var arrBoxes = jQuery.parseJSON(x);
$.each(arrBoxes,
function(index,val){
$("input[name='f01']").attr("checked","checked");
});
显然这检查了所有的复选框,所以少了一些东西。
第 16 行的 HTML 是:
label for="f01_0015" class="hideMeButHearMe">Select Row/label input type="checkbox" name="f01" value="15" class="row-selector" id="f01_0015"
感谢任何帮助。
如果没有看到 HTML,我无法确定它是否适合你,但试试这个:
$.each(arrBoxes,
function(index,val){
if(val) {
$("input[name='f01']").get(index).attr("checked","checked");
}
});
只需要select勾选arrBoxes
中当前项相同索引的checkbox,只有当前值不为false才勾选
这假设您要检查的所有复选框都命名为 <input name="f01" />
。如果不是,那么您需要在问题中显示一些标记。
var arrBoxes = [1,0,0,1,0];
var checkboxes = $("input[name='f01']"); //get all the checkboxes
$.each(arrBoxes, //loop through your array
function(index, val) {
checkboxes.eq(index) //get the current checkbox
.prop("checked", val === 1); //set checked state based on index value
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
我想以 ORACLE APEX 表格形式恢复复选框的状态。 使用 APEX 行选择器 f01 在第一列中进行选择。
我将复选框状态保存在一个集合中,然后从那里保存到一个数组中 在名为 P250_JSON 的区域项目中,因此 P250_JSON 的值 是一个字符串:'[1,0,0,1,0,0,0,0,0]' 例如如果第一个和第四个 已选择行。
来自这个数组 [1,0,0,1,0,0,0,0,0]
我想以编程方式单击表格表单的第 1 行和第 4 行元素 并在需要时恢复原来的选择。
Jquery 的初学者,但我做到了这一点:
var x = $v("P250_JSON");
var arrBoxes = jQuery.parseJSON(x);
$.each(arrBoxes,
function(index,val){
$("input[name='f01']").attr("checked","checked");
});
显然这检查了所有的复选框,所以少了一些东西。
第 16 行的 HTML 是: label for="f01_0015" class="hideMeButHearMe">Select Row/label input type="checkbox" name="f01" value="15" class="row-selector" id="f01_0015"
感谢任何帮助。
如果没有看到 HTML,我无法确定它是否适合你,但试试这个:
$.each(arrBoxes,
function(index,val){
if(val) {
$("input[name='f01']").get(index).attr("checked","checked");
}
});
只需要select勾选arrBoxes
中当前项相同索引的checkbox,只有当前值不为false才勾选
这假设您要检查的所有复选框都命名为 <input name="f01" />
。如果不是,那么您需要在问题中显示一些标记。
var arrBoxes = [1,0,0,1,0];
var checkboxes = $("input[name='f01']"); //get all the checkboxes
$.each(arrBoxes, //loop through your array
function(index, val) {
checkboxes.eq(index) //get the current checkbox
.prop("checked", val === 1); //set checked state based on index value
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />
<input type="checkbox" name="f01" />