0

本地和在线服务器都是 LAMP(本地 MAMP,带有 cPanel 的在线 CentOS)。本地主机上一切正常,返回复选框值。但在网上,复选框值始终未定义

HTML + PHP:

<input class="force_status dont-keep-resending" type="checkbox" id="answer_to_q76" name="answer_to_q76" value="<?php echo ($q[76]->answer!='ok'?'remove':'ok'); ?>" rel="autosave" data-answer-id="<?php echo $q[76]->id; ?>" <?php if ($q[76]->answer==='ok') echo 'checked=checked'; ?>>

jQuery 在本地和在线返回对象都很好(val.id 有效):

console.log($('[data-answer-id='+val.id+'][type=checkbox][rel=autosave].force_status'));

但是在网上,复选框的值既不是“ok”也不是“remove”(正确的值)而是未定义的。使用 jQuery 设置值:

if (val.answer == 'ok')
                                        {
                                            console.log('making it ok');
                                            $('[data-answer-id='+val.id+'][type=checkbox][rel=autosave].force_status').val('ok');
                                            $('[data-answer-id='+val.id+'][type=checkbox][rel=autosave].force_status').prop('checked', 'true');
                                        }
                                        else
                                        {
                                            console.log('making it remove');
                                            $('[data-answer-id='+val.id+'][type=checkbox][rel=autosave].force_status').val('remove');
                                            $('[data-answer-id='+val.id+'][type=checkbox][rel=autosave].force_status').removeAttr('checked');
                                        }
  • 仍然未定义在线值,再次选中时,jQuery 仍然在该复选框上返回未定义

任何想法为什么?无法弄清楚为什么在 localhost 而不是在线上工作,文件是相同的 git diff 和所有内容。

4

0 回答 0