0

我正在网站上实施民意调查功能。选择候选人的工作流程如下: 1. 头像列表显示在网页上。2.当一个头像被点击时,其关联的候选人信息将在模态窗口中以AJAX方式显示。3.模态窗口中有两个按钮,“选择”和“取消选择”。单击“选择”按钮时,在后台将相应的单选按钮设置为选中。4. 模态窗口消失,然后用户必须点击候选人列表下的“投票”按钮。单击“投票”时,另一个 Javascript 片段将检查是否已选中单选按钮。如果是,则验证码是下一个必需的输入,如果不是,则通知用户选择候选人。

这是HTML:

<ul>
  <li class="answerChoice"><span class="answerInput">
    <input type="radio" name="answerId" value="383111" id="ans_383111">
    </span><span class="answerText">
    <label for="ans_383111" title="foobar">foobar</label>
    </span>
    <div class="media"><a href="foobar.png" target="_blank" title=""><img src="foobar.png" alt="" title="" class="embedMedia" style="opacity: 0.5;"></a></div>
  </li>
</ul>

这是Javascript:

$('#finfo_select').on('click', function(event) {
      event.preventDefault();
  // Set checked raido button
      var radio_id = $('body').data('choice');
      var $current_radio = $('input[id="'+radio_id+'"]');
      $('.answerInput > input').attr('checked', false);
      $current_radio.attr('checked', true);
      $('#finfo').slideUp('1000',function(){$('#finfo_overlay').fadeOut('fast');});
});

javascript 代码在 Chrome、Safari 和 Opera 上运行良好,但在 Firefox 和 IE9 上总是建议用户选择候选者,这意味着没有选中单选按钮。

我调试了代码并检查了 Firefox 中的单选按钮集(保存在数组中)。奇怪的是:单选按钮的选中属性(与选定的头像相关联)是“假”;“属性”属性内的另一个已检查属性是“已检查”!

任何人都知道 Firefox 中这两个 CHECKED 之间有什么区别以及如何解决这个问题?

非常感谢!

4

0 回答 0