3

我在表格中有简单的复选框。这是我在代码中看到的复选框标记:

<input type="checkbox" id="iFact123" onchange="submit_status_change(123,$(this).prop('checked'));" >

现在例如在 Firefox 中,这工作正常。在 Chrome 中,会发生以下情况:

  • 单击复选框时,复选框似乎不会更改为选中/未选中。它保持不变。至少在视觉上
  • 运行正常,submit_status_change()如果我重新加载页面,该元素将被加载为选中状态(现在是来自数据库的信息)。由于此函数从 获取信息$(this).attr('checked')),因此必须至少在发送参数时检查元素 - 它只是没有出现。

现在有人对这样的问题有任何想法或经验吗?

如果您认为它与提交功能有关,这里是:

function submit_status_change(id, val){
  //$.post('something.php',{'change_status':id, 'status':val}, function(){}); 
}

更新:attr更改为prop

Chrome 现在更改了复选框,至少在视觉上是这样。事件onchange似乎没有发生。

火狐:

    TypeError: $(...).prop is not a function
[Break On This Error]   

submit_tech_status(123,$(this).prop('checked'));

UPDATE2:我切断了一些代码。现在提交功能非常清晰。Firefox 出现错误prop,chrome 打印没有错误,但不运行提交功能。这与以前不同,chrome 中的复选框似乎没有被选中或未选中,但功能正常。

4

1 回答 1

0

只需写如下内容:

$("#iFact123").change( function() {
   var c = $(this).prop("checked");
   // do whatever you want with c value
});
于 2015-06-18T14:21:29.390 回答