发布网友 发布时间:2022-04-24 18:19
共2个回答
热心网友 时间:2022-04-23 01:34
读了很久,终于理解了你的想法。在form中有很多input或select,你想通过一次性的将给form赋值等价于给下面的许多input或select赋值。你真是太有才了,作为程序员,谁不愿意少写两句。我觉得你这个提议太好了,强烈建议写入下一个版本的jquery。
思考了一下,觉得也不是不能实现,简单写了一个jquery扩展方法,不完善,但可以基本实现你的想法。下面是demo,在表单中有两个input和一个select,可以用一句实现对他们三个的赋值。这句就是:$("#abc").setform({ t1: "3456", t2: "4444", s1: "option2" });
demo:
<form id="abc" name="abc" action="" method="post">
<input id="t1" name="t1" type="text" />
<input id="t2" name="t2" type="text" />
<select id="s1" name="s1">
<option value="option1">option1</option>
<option value="option2">option2</option>
</select>
<input id="Submit1" type="submit" value="submit" />
</form>
<script>
$(function ($) {
$("#abc").setform({ t1: "3456", t2: "4444", s1: "option2" });
});
//扩展一个jquery的setform方法
(function ($) {
$.fn.setform = function (jsonValue) {
var obj=this;
$.each(jsonValue, function (id, ival) {obj.find("#" + id).val(ival); })
}
})(jQuery)
</script>
热心网友 时间:2022-04-23 02:52
虽然我不是很明白你的要求,但是我觉得你应该是获取了json数据后想按照name值来赋值是吧?
$("input[name=‘username’]")
你看看这个能不能给你一点启发?