Django模板 - 复选框在选择时没有反应

时间:2017-05-15 09:31:48

标签: javascript jquery python django checkbox

我在django有app,我更新了我的模型:

is_promoted_post = models.BooleanField(default=False)
promoted_from = models.DateTimeField(blank=True, null=True)
promoted_to = models.DateTimeField(blank=True, null=True)
promoted_budget = models.CharField(max_length=70, blank=True, null=True)

我的目标是选择is_promoted_post字段时剩余字段的外观。

在模板中我有:

<h2>Promoted post</h2>
  <label>Promoted post?</label>
    {{ form.is_promoted_post }}
    <br><br>

  <label>Promoted date from</label>
    {{ form.promoted_from }}

  <label>Promoted date to</label>
    {{ form.promoted_to }}

  <label>Promoted budget</label>
    {{ form.promoted_budget }}

当我使用Firebug获取有关is_promoted_post的更多详细信息时,我得到了:

<input checked="checked" id="id_is_promoted_post" name="is_promoted_post" type="checkbox">

我尝试启动我的js代码但是当我选择没有保存模型的复选框时代码没有响应。

我的js代码:

  $(document).ready(function(){
      if ($('input#id_is_promoted_post').prop('checked')) {
        alert('Test test');
        }
    });

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

尝试:

$(document).ready(function(){
  if ($('#id_is_promoted_post').prop('checked')) {
    alert('Test test');
    }
});

答案 1 :(得分:0)

如果您想要触发check/uncheck

,请尝试此操作
$('#id_is_promoted_post').change(function() {
    if(this.checked) {
        alert("checked")
        return false;
    }
    alert("unchecked")       
});

答案 2 :(得分:0)

如果$('#id_is_promoted_post').is(':checked')被检查或true有所不同,

checkbox将返回false。 因此,您还可以尝试使用以下代码:

 $(document).ready(function(){
  if ($('#id_is_promoted_post').is(':checked')) {
    alert('Test test');
    }
});