
本文介绍了如何使用 jQuery 和正则表达式,在不使用循环的情况下,根据 JSON 数据的键值动态填充 HTML input 框。核心在于利用正则表达式从 jQuery 选择器字符串中提取 input 框的 name 属性,并将其作为键来访问 JSON 数据,从而实现快速填充。文章提供了两种实现方式,并附带了示例代码,方便读者理解和应用。
在前端开发中,经常需要根据 JSON 数据动态填充 HTML 表单。一种常见的场景是将 JSON 对象的键值对填充到对应的 input 框中。如果 input 框数量较多,手动编写大量的赋值语句会显得冗余且效率低下。本文将介绍一种无需循环,利用 jQuery 和正则表达式实现动态填充的方法。
这种方法的核心在于使用立即执行函数 (Immediately Invoked Function Expression, IIFE) 结合正则表达式来提取 input 框的 name 属性,并将其作为键访问 JSON 数据。
let data = {
"foobar": "data foobar",
"foo": "data foo",
"bar": "data bar",
"baz": "data baz",
"qux": "data qux",
"quux": "data quux",
"corge": "data corge",
"grault": "data grault",
"garply": "data garply",
"waldo": "data waldo",
"fred": "data fred",
"plugh": "data plugh",
"xyzzy": "data xyzzy",
"thud": "data thud"
};
(s => s.val(data[/=(\w+)\]/.exec(s.selector)[1]]))($('input[name=foobar]'));
(s => s.val(data[/=(\w+)\]/.exec(s.selector)[1]]))($('input[name=foo]'));
(s => s.val(data[/=(\w+)\]/.exec(s.selector)[1]]))($('input[name=bar]'));代码解释:
HTML 示例:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <input name="foobar" /> <input name="foo" /> <input name="bar" />
为了提高代码的可读性,可以使用变量来存储选择器字符串。
let data = {
"foobar": "data foobar",
"foo": "data foo",
"bar": "data bar",
"baz": "data baz",
"qux": "data qux",
"quux": "data quux",
"corge": "data corge",
"grault": "data grault",
"garply": "data garply",
"waldo": "data waldo",
"fred": "data fred",
"plugh": "data plugh",
"xyzzy": "data xyzzy",
"thud": "data thud"
};
var s = "input[name=foobar]";
$(s).val(data[/=(\w+)]/.exec(s)[1]]);
var s = "input[name=foo]";
$(s).val(data[/=(\w+)]/.exec(s)[1]]);
var s = "input[name=bar]";
$(s).val(data[/=(\w+)]/.exec(s)[1]]);代码解释:
HTML 示例:
与方法一相同。
本文介绍了两种在不使用循环的情况下,利用 jQuery 和正则表达式动态填充 input 框的方法。这些方法可以简化代码,提高开发效率。然而,需要根据实际情况选择合适的方法,并注意相关的限制。在实际应用中,建议使用更健壮和灵活的数据绑定框架,例如 Vue.js 或 React,以便更好地处理复杂的表单数据。
以上就是使用 jQuery 动态填充 Input 框:避免循环的技巧的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号