如图所示:这个一个多选框,每个option对应的值为:
<option value=“2">a</option>
<option value=“4">b</option>
<option value=“8">c</option>
<option value=“16">d</option>
前后交互的时候,给的是每个value以及多选value的和。
这个时候,返回的也是如此,那如何判断显示什么呢?
这个时候我们用的方法就是转化为二进制,判断灭一个1的占位符,然后去判断选中的值。
operateNumber =['10000','1000','100','10']---
var checkboxValue = (data).toString(2);
var threeChangeArr= [];
threeChangeArr = checkboxValue.split(''); for (var e=0;e<5-checkboxValue.length;e++){ threeChangeArr.unshift('0'); }; threeChangeArr = threeChangeArr.join('') for (var p = 0; p < threeChangeArr.length;) { var index = threeChangeArr.indexOf('1', p); p = index + 1; if (index == '-1') { break; } operate.push(parseInt(operateNumber[index], 2)); }
operate就是我们选中的值了。
$('#customer-type').val(operate).trigger('change');