【问题标题】:How to restrict the click on a href link based on checkbox condition?如何根据复选框条件限制对 href 链接的点击?
【发布时间】:2013-11-21 13:59:56
【问题描述】:

如何根据复选框条件限制对href链接的点击(链接仅在选中后才有效)?

<td><input name="checkbox[]" type="checkbox" id="checkbox[]" value="' . $row['id'] . '"'.($row['pr'] == ""?"disabled ":"").' style="cursor:pointer;" class="checkbox"></td>

<a class="button" href="javascript:document.forms[0].submit();" onclick="f1.action='editpr.php'; return true;">
<span><b>Edit Purchase Request</b></span></a>

<a class="button" href="javascript:document.forms[0].submit();"><span><b>Remove Purchase Request</b></span></a>

我真的遇到了麻烦。帮助

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    删除内联点击处理程序以支持 jQuery 点击处理程序,然后在处理程序中检查条件

    <a class="button submit"><span><b>Edit Purchase Request</b></span></a>
    <a class="button remove"><span><b>Remove Purchase Request</b></span></a> 
    

    然后

    jQuery(function ($) {
        $('a.button.submit, a.button.remove').click(function () {
            if ($('input[name="checkbox[]"]:checked').length == 0) {
                return;
            }
    
            var frm = document.f1;
            if($(this).hasClass('submit')){
                frm.action = 'editpr.php';
            }
            frm.submit();
        })
    })
    

    注意:看起来所有的复选框元素都有 id checkbox[],这是不允许的,因为元素的 id 必须是唯一的

    【讨论】:

    • 问题是我的 php 进程需要复选框[]。
    • @papaosurname 所以...它应该可以工作...我希望f1 是包含复选框的表单的名称
    • @papaosurname 如果它与其他问题有关,那么最好提出一个新问题......然后你可以在这里发布一个链接......
    • 这与这个问题有关,我有另一个链接 删除购买请求你会在脚本中添加这个吗?
    【解决方案2】:

    这里是jsfiddle link

    //This is for set the href on page load
    settingHref();
    //This is for set the herf on chage of checkbox
    $('#checkbox').change(function() {
        settingHref();
    });
    function settingHref() {
        if ($('#checkbox').is(":checked")) {
            $('.button').attr('href', 'javascript:document.forms[0].submit();');
        }
        else {
            $('.button').attr('href', 'javascript: void(0)');
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 2020-03-28
      • 2020-08-31
      相关资源
      最近更新 更多