付费找大佬帮忙写个 JavaScript 脚本

2021-09-12 11:23:44 +08:00
 BrJfUsTD

小白一枚,尝试自己研究没搞定,所以在这求助大家,不知这个需求是否能实现。

有愿意帮忙的大佬麻烦留个联系方式和报价,提前感谢!


需求如下:

为 HTML 页面添加搜索功能,最好用 jQuery 语法写

页面里有一组汽车型号列表,不同型号有属于各自的种类(例如汽油车、柴油车、电动车)

部分汽车型号针对市场不同有不同发布名称,但列表只有国内市场发布名称

需要实现的效果是,页面添加搜索框,输入汽车型号关键词显示对应的产品

由于列表只有国内市场发布名称,所以数据源在脚本里定义好,结合 <li> CSS 选择器找到对应的汽车型号,下面详细说明:

HTML 内容( id 选择器对应汽车型号,class 选择器对应汽车种类,这些在页面里已经有)

<ul>
<li id="gwmc30" class="battery">长城 C30</li>
<li id="geelytx4" class="diesel">英伦 TX4</li>
<li id="geely300t" class="petrol">星越 300T</li>
</ul>

脚本里定义好对应关系(格式类似下面)

gwmc30:长城 C30,丹麦市场名称,其它市场名称
geelytx4:英伦 TX4,丹麦市场名称,其它市场名称
geely300t:星越 300T,丹麦市场名称,其它市场名称

上面是主要需求,还有另外两个小需求,能实现更好

  1. 在页面添加种类筛选按钮,例如点击汽油车按钮就显示所有汽油车型号(利用列表里的 class 选择器)
  2. 搜索框下面添加热门汽车型号( HTML 文本元素),点击就自动填入搜索框,并显示搜索结果

HTML 样本 https://codepen.io/zhao3574/pen/WNOxKyd

2792 次点击
所在节点    JavaScript
13 条回复
Vhc001
2021-09-12 11:54:50 +08:00
预算多少?
cpstar
2021-09-12 12:02:46 +08:00
var result=[];
$("ul li").each(function(){
var $this=$(this);
var item={};
item.id=$this.attr("id");
item.type=$this.class();
item.text=$this.text();
result.push(item);
});

盲写,没测试,大概这个东西。
oldshensheep
2021-09-12 12:04:42 +08:00
写这个脚本的目的是干什么呢?交作业?学习?还是什么。如果是学习,那就说明遇到的问题比较好。
如果是其他的目的……这么简单的问题……不急的话可以再学习学习,你知道答案用处也不大。

搜索的话可以用正则表达式,搜索的结果可以拼接字符串放到 DOM 里,就可以显示结果。
筛选你可以控制 css 的 display 。
HolaPz
2021-09-12 12:12:57 +08:00
JavaScript:
const searchBar = document.querySelector("input[type='text']");
const contentBar = document.querySelector(".prod-cate-lst");

searchBar.onchange = function(e) {
const keyWords = searchBar.value;
const lis = contentBar.children;
if(keyWords === '') {
for(let i = 0; i < lis.length; i++)
lis[i].classList.remove("hideLi");
return;
}

for(let i = 0; i < lis.length; i++) {
if(!lis[i].innerHTML.includes(keyWords))
lis[i].classList.add("hideLi");
else
lis[i].classList.remove("hideLi");
}
}


CSS:
.hideLi {
display: none;
}
Yuxiaoy
2021-09-12 13:23:24 +08:00
加 v 联系:eXl5MDIwNg==
Yourshell
2021-09-12 16:47:11 +08:00
Jquery 的话用 filter
https://api.jquery.com/filter/
BrJfUsTD
2021-09-12 17:26:03 +08:00
@cpstar 需要在脚本里定义好搜索对应关系哦,因为页面上缺少部分内容,譬如搜索海外市场发布名称时,页面里没有相关内容。大佬如果愿意写,麻烦给个联系方式。
BrJfUsTD
2021-09-12 17:31:02 +08:00
@HolaPz 感谢答案,不过和实际需求有点不同,从页面搜索内容会导致不能用其它市场发布名称搜索,因为页面里没有这些内容。大佬如果愿意写,麻烦提供下联系方式,酬谢!
BrJfUsTD
2021-09-12 17:33:56 +08:00
@oldshensheep
@Yourshell 感谢回复!我再研究看看。
BrJfUsTD
2021-09-12 17:34:41 +08:00
@Vhc001 一两百不知道行不行……
jesseee
2021-09-12 18:58:02 +08:00
100 我接了 绿色软件 c3NzeW5t
duan602728596
2021-09-12 19:38:52 +08:00
我想说的是,有一种属性叫自定义属性,就不要占 class 了吧,自定义属性照样能用选择器搜索的。
BrJfUsTD
2021-09-12 19:43:11 +08:00
@jesseee 额,傍晚有个大佬接了,先收藏了,后续有问题再麻烦!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/801326

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX