0

我有大量链接到锚点的复选框。单击复选框时,它会转到同一页面中的该锚点。有没有更好的编码方法?我有大约 50 个复选框,所以这个函数包含了 if 语句。这是其中 2 个的工作代码:

<input type="checkbox" id="1" value="1" onclick="return send();"/>
<input type="checkbox" id="2" value="2" onclick="return send();"/>

<script>
function send(){
    if(document.getElementById('1').checked){
        window.location='#buy';
        return false;
    }
    if(document.getElementById('2').checked){
        window.location='#order';
        return false;
    }

//and this function goes on and on and on...
        return true;

    }
    </script>

然后在我想要它去的页面中有

<a name="buy"></a>
<a name="order"></a>
4

3 回答 3

2

jQuery 将在这里拯救你的神经:

$('input:checkbox').click(function () {
  windows.location = $(this).attr('value');
});

只需确保更改锚点以匹配复选框。

于 2013-08-12T20:39:05.187 回答
1

HTML:

<input type="checkbox" id="checkbox1" value="1" data-target="buy" onclick=" send(this)">
<input type="checkbox" id="checkbox2" value="2" data-target="order" onclick="send(this)">

Javascript:

function send(el){
  var target = '#' + el.getAttribute('data-target');
  window.location = target ;
}
于 2013-08-12T20:41:14.970 回答
1

如果您将哈希添加到输入值中,如下所示:

<input type="checkbox" id="2" value="buy" onclick="return send(this);"/>

你可以这样做

<script>
function send(input)
{
    if(input.checked)
    {
        window.location = input.value;
        return true;
    }

    return true;
}
</script>

如果这不起作用,您还可以切换出要使用的值,ID甚至是自定义属性。随心所欲,随心所欲。

于 2013-08-12T20:41:35.067 回答