gpt4 book ai didi

javascript - 我如何使用 jQuery 的 form.serialize 但排除空字段

转载 作者:IT王子 更新时间:2023-10-29 02:41:24 27 4
gpt4 key购买 nike

我有一个搜索表单,其中包含许多通过 GET 提交的文本输入和下拉列表。我希望通过在执行搜索时从查询字符串中删除空字段来获得更清晰的搜索 url。

var form = $("form");  
var serializedFormStr = form.serialize();
// I'd like to remove inputs where value is '' or '.' here
window.location.href = '/search?' + serializedFormStr

知道如何使用 jQuery 做到这一点吗?

最佳答案

我一直在查看 jQuery docs我认为我们可以使用 selectors 在一行中完成此操作:

$("#myForm :input[value!='']").serialize() // does the job!

很明显,#myForm 获取了 ID 为“myForm”的元素,但起初对我来说不太明显的是,#myForm 和 :input 之间需要空格字符,因为它是 descendant运营商。

:input匹配所有输入、文本区域、选择和按钮元素。

[value!='']是一个属性不等于过滤器。奇怪(但有用)的是,所有 :input 元素类型都具有值属性,甚至包括选择和复选框等。

最后还要删除值为“.”的输入(如问题中所述):

$("#myForm :input[value!=''][value!='.']").serialize()

本例并列,即placing two attribute selectors next to each other , 表示一个 AND。 Using a comma暗示一个或。对不起,如果这对 CSS 人员来说很明显!

关于javascript - 我如何使用 jQuery 的 form.serialize 但排除空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com