【问题标题】:Checkbox From Json is not showing alert when clicked单击时来自 Json 的复选框未显示警报
【发布时间】:2015-08-16 20:04:01
【问题描述】:

我将一些复选框输入从JSON 传递到HTML,当单击该复选框时显示一些警报并且该复选框不起作用。 这是我的代码

 $aroundCheck='<div id="content">';foreach ($checkLocation as $checkLocation) {
   $aroundCheck.='<input type="checkbox" name="check[]"/>'.$checkLocation->id_object;
 }
 $aroundCheck.='</div>';
 $result = array('status' => 'ok', 'content' => $aroundCheck);
 echo json_encode($result);

javascript

$('input=[name="check[]"]').click(function(){ alert("Something");});

有人知道吗?帮我困了2天

【问题讨论】:

  • 您似乎在寻找“事件委托”。
  • 试试$(document).on('click', 'input=[name="check[]"]', function(){ alert("Something");});。如果这解决了您的问题,请查看@Vohuman 建议的事件委托
  • 它不工作的伙伴,我只希望该复选框在点击时显示一些警报
  • 我找到并回答这样的结论 $("#content").on('change', '[type=checkbox]', function () { //this is now the checkbox; this.value 是 id.alert($(this).val()); });
  • 我认为你的选择器是错误的。应该是 $('input[name="check[]"]')。删除多余的等号。

标签: javascript jquery json checkbox


【解决方案1】:

尝试类:

$aroundCheck='<div id="content">';foreach ($checkLocation as $checkLocation) {
   $aroundCheck.='<input type="checkbox" name="check[]" class="checkboxclass"/>'.$checkLocation->id_object;
}
$aroundCheck.='</div>';
$result = array('status' => 'ok', 'content' => $aroundCheck);
echo json_encode($result);

javascript

$('.checkboxclass').click(function(){ alert("Something");});

在大多数情况下,按类调用比按名称调用更有效。 并确保这两个函数不是两个不同函数的子函数。

如果您从window.onload function 的外部调用作为window.onload function 子函数的函数。它将不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 2015-07-15
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    相关资源
    最近更新 更多