简化复选框链接的jquery/javascript

简化复选框链接的jquery/javascript,javascript,jquery,html,checkbox,dry,Javascript,Jquery,Html,Checkbox,Dry,我已经编写了几行简单的代码,当单击以将用户发送到指定链接时,允许在侧栏导航中使用复选框。复选框用作过滤器。 以下是复选框的HTML: <li class="inactive" aria-selected="false"> <input id="path1" type="checkbox" value="Accessories"> <a href="href">Accessories</a> </li> 问题不是让这种互动发挥作用,我有

我已经编写了几行简单的代码,当单击以将用户发送到指定链接时,允许在侧栏导航中使用复选框。复选框用作过滤器。
以下是复选框的HTML:

<li class="inactive" aria-selected="false">
<input id="path1" type="checkbox" value="Accessories">
<a href="href">Accessories</a>
</li>
问题不是让这种互动发挥作用,我有一个逻辑问题。它的编写方式是以复选框的id为目标。它是不可伸缩的。8个链接没那么糟糕,但是500个链接,每一个都是独一无二的,你明白了


是否有针对每个复选框但允许每个复选框具有唯一链接的解决方案?也就是说,针对类使所有复选框都具有相同的href,因此这不是一个选项,等等。

假设您的
href
值来自您可以使用的输入后面的链接:

$('li.inactive input[type="checkbox"]').click(function(){ 
    window.location = $(this).next('a').attr('href')
});

假设您的
href
值来自您可以使用的输入后面的链接:

$('li.inactive input[type="checkbox"]').click(function(){ 
    window.location = $(this).next('a').attr('href')
});

您可以执行以下操作:

<input type="checkbox" data-custom-click="href">

选择器
input[data custom click]
将选中所有自定义行为复选框,
$(此)
将选中单击的复选框。

您可以执行以下操作:

<input type="checkbox" data-custom-click="href">


选择器
input[data custom click]
将选中您所有的自定义行为复选框,
$(this)
将选中已单击的复选框。

从哪里来“href”?
$(“input[type='checkbox]”)。单击(..)
此外,这与“缩小”有什么关系,通过重构代码将其压缩到最小的字节数?“href”是该链接的替代。因此,当单击时,它可能类似于“/products/valves/”,但有许多复选框,每个复选框都指向不同的位置,我认为使用实际链接会破坏示例。也许缩小是一个错误的术语。我认为这是正确的,因为我们的目标是将50块几乎相同的代码减少到5或6行,希望这是一个单一的代码块。缩小是另一回事。“href”将从何而来?
$(“输入[type='checkbox]”)。单击(…)
还有,这与“缩小”有什么关系,即重构代码以将其压缩到最小的字节数?“href”是链接的替代。因此,当单击时,它可能类似于“/products/valves/”,但有许多复选框,每个复选框都指向不同的位置,我认为使用实际链接会破坏示例。也许缩小是一个错误的术语。我认为这是正确的,因为我们的目标是将50块几乎相同的代码减少到5或6行,希望这是一个单一的代码块。缩小是另外一回事。我把href放错地方了吗?你是说我需要把它放在其他地方,并用你提供的代码瞄准它吗?我把href放错地方了吗?你是说我需要把它放在其他地方,用你提供的代码瞄准它吗?这看起来不错。我将进行测试,但这很有意义,它很可能会工作。你能提供你的代码的js小提琴,以便我可以从那里调试它吗?这解决了我的问题。非常感谢。第一次处理DRY时,这帮了我很大的进步。是我的错,没有使用document ready正确激活代码。@TrevorJones,太棒了!它解决了您的问题,还简化了HTML。如果您需要任何其他关于web的帮助(php/WordPress支持),我很乐意为您提供帮助。我将进行测试,但这很有意义,它很可能会工作。你能提供你的代码的js小提琴,以便我可以从那里调试它吗?这解决了我的问题。非常感谢。第一次处理DRY时,这帮了我很大的进步。是我的错,没有使用document ready正确激活代码。@TrevorJones,太棒了!它解决了您的问题,还简化了HTML。如果您在web方面需要任何其他帮助(php/WordPress支持),我很乐意提供帮助