速记javascript?制作变种?

时间:2015-01-19 21:39:54

标签: 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;

1 个答案:

答案 0 :(得分:3)

您可以将所有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序列化表单会更容易