如何根据复选框条件限制对href链接的点击?

时间:2013-11-21 03:17:02

标签: javascript jquery

如何根据复选框条件限制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>

我真的遇到了麻烦。帮助

2 个答案:

答案 0 :(得分: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();
    })
})

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

答案 1 :(得分:0)

以下是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)');
    }
}