2014-12-03 48 views
1
​​

参考上面的方法,这是填充表单域的正确方法吗? 如果我有一长串填充表单字段和要更改的属性,它会在调用getData函数时导致任何问题吗?JQuery - 正确填充表单数据的方法

预先感谢您的任何意见!

+0

我喜欢它......简单而干净。 – rfornal 2014-12-03 13:21:32

+1

一切看起来不错。 – mudasobwa 2014-12-03 13:23:48

+0

如果你打算让这个表格变得非常大,我会考虑一个类似于AngularJS这样的表单支持库,它为你做了很多繁重的工作。 – 2014-12-03 13:28:04

回答

1

一个好办法我会做是为了避免重复选择和val电话,太容易添加一个字段,忘记更新if/else的二分之一或其他:

function parseInfo(data) { 
    var valid = data && data.id > 0; 
    $('#txtaction').val(valid ? 'update' : ''); 
    $('#txtbook_id').val(valid ? data.id : ''); 
} 

方注意:对于非常小的项目,手动执行此操作很合适,但对于任何大小的任何内容,您都可以查看各种MVC和MVVC工具或框架。有许多。

+1

谢谢T.J.克劳德!我从你身上学到了一件新事物! – ShirleyKuanSF 2014-12-03 13:41:35

0

这似乎是正确的。但请记住,JSON属性名称不能包含破折号,因此解决该问题的另一种方法是:

if (data['id'] > 0) { 
    $('#txtaction').val('update'); 
    $('#txtbook_id').val(data['id']); 
} else { 
    $('#txtaction').val(''); 
    $('#txtbook_id').val(''); 
} 
+1

*“请记住,JSON属性名称不能包含破折号”* A)是的,他们可以(如果你的意思是JSON * property *名称),但是** JavaScript标识符**不能。 B)'id'里面没有任何破折号。 – 2014-12-03 13:26:56

+0

该id只是一个例子,它显然不包含破折号:) – strapro 2014-12-03 13:28:52

+0

我站好了。我不知道这是Javascript的问题。谢谢你 – strapro 2014-12-03 13:29:30