如何根据复选框值隐藏和显示侧栏菜单上的特定链接?

时间:2017-04-25 07:35:48

标签: jquery python django checkbox

是否可以根据复选框值隐藏和显示侧栏菜单上的链接/图标?

我有一个启用的复选框(值=开启),应显示侧栏菜单上该特定链接的图标,一旦禁用将隐藏。

希望有人可以帮助我。谢谢!

file.html

{% elif field.type == 'checkbox' %} 
<div class="form-group"> 
<label>{{ field.prompt }}</label> 
<br> 
<input type="{{ field.type }}" class="form-control {{ field.name }}" name="{{ field.name }}"> 
</div>


$form_admin_config.validate({ 
ignore: 'input[type=hidden], .ignore', 
onkeyup: false, submitHandler: 
function(form) { 
$form_admin_config.find('input[type="checkbox"]').each( function () {
         var checkbox_this = $(this);

         if( checkbox_this.is(":checked") == true ) {
             checkbox_this.attr('value', 'on');    
         } else {
             checkbox_this.prop('checked',true);
             checkbox_this.attr('value', '');

             }
             })
             ajax_post_form($form_admin_config, 'Save Successful', function(){
             },
             function() {});
             }

        });

base.html文件

<li class="{% if request.mod == 'subscription_products' %}inactive{% endif %} main_menu" data-toggle="popover" data-content="Subscription Products">
<a href="{% url 'admin_app:subscription_products_index' %}" ><i class="fa fa-check-square-o"></i> <span class="nav-label"> Subscription Products </span></a></li>
{% endif %}

file.py

def admin_config_process(request):
    for key, val in request.POST.iteritems():
        if key != 'csrfmiddlewaretoken':
            admin_config = AdminConfig.getAdminConfigFromName(key)
            if admin_config is not None:
                admin_config.svalue = val
                admin_config.save()
            else:
                new_id = make_uuid()
                admin_config = AdminConfig.getAdminConfig(new_id)
                if radmin_config is not None:
                    new_id = make_uuid()
                AdminConfig(new_id, None, key, val).save()

    return jsonify({'status': 'ok'})

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$('#chk').click(function(){
  if( $(this).is(':checked') )
  {
    $('#link1').show();
  }
  else
  {
    $('#link1').hide();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" value="1" id="chk" />Check

<ul>
  <li id="link1">Link 1</li>
</ul>

您可以获取复选框值,如:

$(this).val();但是这将给出相同的值,无论是否选中该复选框都无关紧要。因此,只有在选中复选框时才必须使用逻辑来获取复选框的值。