私のローカルホストと1つのサーバーでは問題ありません.配列はコンソール内の$.each関数内で外部と同じ値を持ちますが、別のサーバーではコードの動作が異なります. 2 番目のコンソールは空の配列を返します。その内部は正しいです。サーバーはクライアント側の言語動作をどのように変更できますか?
var isChecked = [];
$('.x').each(function() {
if ($(this).prop('checked')) {
id = $(this).prop('id').split('_')[1];
isChecked.push(id);
console.log(isChecked);
} else {
isChecked.splice($.inArray(id, isChecked), 1);
}
});
console.log(isChecked);
マークアップは次のとおりです。
<table>
<tr class=header>
<td class=first>
<input type="checkbox" id="c">
<label for="c"><span class="tablecheck"></span></label>
</td>
<td class="header" colspan=""><a href="/">User group</a></td>
<td class="header" colspan=""><a href="/">Firstname</a></td>
<td class="header" colspan="2"><a href="/">Lastname</a></td>
</tr>
<tr class="">
<td class=first>
<input type="checkbox" id="x_41" class="x">
<label for="x_41"><span class="tablecheck"></span></label>
</td>
<td>Admin</td>
<td>Firstname</td>
<td>Lastname</td>
</tr>
</table>