javascript - JavaScript 简写?用于制作变量?

标签 javascript jquery

有更好的方法吗? 我尝试了几种方法,但这是唯一适合我的方法

var naam = $("#resvNaam").val();
var aantal = $("#resvAantal").val();
var uur = $("#resvUur").val();
var datum = $("#resvDatum").val();
var telefoon = $("#resvTelefoon").val();
var opmerking = $("#resvOpmerking").val();
var alles = "?naam=" + naam + "&aantal=" + aantal + "&uur=" + uur + "&datum=" + datum + "&telefoon=" + telefoon + "&opmerking=" + opmerking;

最佳答案

你可以把所有的id放在一个数组中,然后使用map:

var ids = [
  'naam',
  'aantal',
  ...
]

var ucfirst = function(x) {
  return x[0].toUpperCase() + x.slice(1)
}

var alles = '?'+ ids
  .map(function(id) {
    var value = encodeURIComponent($('#resv'+ ucfirst(id)).val())
    return id +'='+ value
  })
  .join('&')

我建议字段和查询使用相同的idname,这样更容易操作,并且编写更少的代码。

正如评论中所建议的,如果您使用名称,则使用 http://api.jquery.com/serialize/ 使用 jQuery 序列化表单会更容易。

关于javascript - JavaScript 简写?用于制作变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033932/

相关文章:

javascript - 我是否可以阻止用户修改元素的内部文本?

javascript - javascript中的窗口卸载方法

javascript - 显示两个元素的旋转木马

javascript - 向类或单个元素添加回调

javascript - Chrome 扩展 - onMessageExternal 未定义

javascript - 如何按后缀/扩展名过滤所有 gulp 任务?

javascript - jquery-ui-map 在点击事件上添加标记

jquery - 如何停用/禁用 fancytree 节点?

javascript - 在 Node JS 应用程序中实现单例 mongoDB DB 对象

设置属性时的Javascript对象将设置所有具有相同名称的属性