Javascript 单击时,比较所选复选框的id以列出HREF
有一个复选框列表,可在单击时更改。 这里有一个例子,其余的都是一样的,除了一些id和类,它们像这里的lips一样动态变化Javascript 单击时,比较所选复选框的id以列出HREF,javascript,jquery,Javascript,Jquery,有一个复选框列表,可在单击时更改。 这里有一个例子,其余的都是一样的,除了一些id和类,它们像这里的lips一样动态变化 <li class="lifilter"> <input type="checkbox" class="filtercheck" id="lips" checked="checked"> <label for="Lips..." class="lips"> <a href="lips">Lips</a>
<li class="lifilter">
<input type="checkbox" class="filtercheck" id="lips" checked="checked">
<label for="Lips..." class="lips">
<a href="lips">Lips</a>
</label>
</li>
我是js的新手,不知道从这里该去哪里。在组合变量时,很可能出现语法错误
帮助一个noob走出plz从我收集的内容中,您需要检查页面上的复选框并将它们连接在一起。最简单的方法可能是使用。您提到选中复选框会选中类复选框,因此: 但是,URL中项目的顺序将取决于文档中的顺序。例如,如果lips复选框按文档顺序位于face复选框之前,则url将为“/collections/face lips”,但如果相反,则为“/collections/lips face” 如果需要定义顺序,请对map返回的数组进行排序: 如果您有预设顺序,请将该顺序存储在单独的数组中:
var order = [ 'face', 'cheeks', 'lips' ];
var parts = $('.checkchecked').map(function (index, element) {
return this.id;
}).sort(function (a, b) {
return order.indexOf(a) - order.indexOf(b);
}); // This will sort by separate "order"
var url = '/collections/' + parts.join('-');
这似乎是一种奇怪的导航方式,但我会这样做: 使用所有选中的复选框和 将这些选择器连接在一起并应用结果 检查你得到了多少结果。一旦你缩小到一个结果,你有足够的信息重定向。 下面有一段正在运行的代码片段。它实际上并不重定向,而是显示重定向位置或可能结果的数量 $.filtercheck.onclick,函数{ //构建包含选择器的jQuery数组 所选变量=$.filtercheck:checked.get.mapfunctionitem{ 返回“[href*=”+item.id+”]; }; //将选择器连接成一个连续字符串 var选择器=selected.join; //运行jQuery选择器 var result=$.collectionURL+选择器; //如果有一个结果,您可以成功导航 如果result.length==1{ var href=result.attrref; $result.valhref; //window.location=href;//取消对重定向的注释 } 否则{ $result.valresult.length+结果; } }; 面对 嘴唇 面颊
也许可以试试:var addurl=this.href;?可能有相当多的类可以应用于url,所以不知道该如何处理这些类。您遇到了什么问题,正好是一个问题。将多个检查ID与HREF列表匹配的整个想法。我可以找到匹配的一个,但如何匹配无限数量的支票?是否有特定的顺序?例如,当同时选中face和lips时,URL必须是/collections/face lips还是/collections/lips face?您认为有什么方法可以使其不依赖于顺序。您可以对map返回的数组进行排序。我会更新我的问题。问题是顺序可能会很混乱。你是说URL中的顺序?听起来很奇怪。您还可以创建所有可能的排列及其规范顺序的散列。例如,{face-lips:face-lips,lips-face:face-lips,face-脸颊:face-脸颊,脸颊脸:face-脸颊,等等..}然后做一个查找…由于某种原因,这个片段在我的网站上不起作用,但显然是有效的。让我深入研究几分钟,它怎么不起作用?你得到的结果太多了,没有结果,还是别的什么?
$(document).ready(function(){
var curdomain = document.domain;
//id's and classes forming code
$('.lifilter').click(function(){
//compare ids to hrefs
var addurl = // that class attr('href')
var curdomain = curdomain + addurl;
window.location = curdomain;
});
});
var url = '/collections/' + $('.checkchecked').map(function (index, element) {
return this.id;
}).join('-');
var parts = $('.checkchecked').map(function (index, element) {
return this.id;
}).sort(); // This will sort them alphabetically
var url = '/collections/' + parts.join('-');
var order = [ 'face', 'cheeks', 'lips' ];
var parts = $('.checkchecked').map(function (index, element) {
return this.id;
}).sort(function (a, b) {
return order.indexOf(a) - order.indexOf(b);
}); // This will sort by separate "order"
var url = '/collections/' + parts.join('-');