我正在为我的公司重新设计一个注册表单。不幸的是,我觉得我在这个问题上不知所措。哈哈。
我需要做的是为移动主题网站创建一个 Web 表单。目前,我已经或多或少地使用 JQuery Mobile 使该网站正常运行,但我正在努力处理这一切的表单输入方面。此表单需要做的一件事是能够在用户点击按钮时填充 3 个字段。
例如,如果我有一个按钮,上面写着“土耳其,土豆泥和葡萄酒”......当用户点击该按钮时,它下面的 3 个字段将填充值“土耳其”、“土豆泥”和“葡萄酒” ”。
有什么办法可以吗?
我会这样做,只要我做对了。
HTML:
<form>
<input type="text">
<input type="text">
<input type="text">
</form>
<button data-val="Turkey|Mashed Potato|Wine">Turkey, Mashed Potato & Wine</button>
JavaScript:
$("button").on("click", function() {
var val = $(this).data("val").split("|");
$("form input").val(function(i) {
return val[i] || "";
});
});
演示:http: //jsfiddle.net/8aHtP/
尝试这个:
$(function(){
$('#my_button').on('click', function(e){
$('#field_one').val('Turkey');
$('#field_two').val('Mashed Potato');
$('#field_three').val('Wine');
});
});
但是,我假设您需要它根据按钮的文本动态工作。如果是这样,您必须进行一些字符串操作才能获取值:
$(function(){
$('#my_button').on('click', function(e){
var parts = $(this).attr('value').split(',');
// do some more work here to clean up the values,
// you'd need the values separated with commas all
// the way through (ie: Turkey, Mashed Potato, Wine)
$('#field_one').val(parts[0]);
$('#field_two').val(parts[1]);
$('#field_three').val(parts[2]);
});
});
是的,这是可能的。一种方法是将值放在数据属性中并附加它们。
工作示例:http: //jsfiddle.net/vj3Zg/
您可以使用 jQuery.val()
设置文本框的值。
<div id="pop">Turkey, Mashed Potato & Wine</div>
<input type="text" id="f1" />
<input type="text" id="f2" />
<input type="text" id="f3" />
$("#pop").click(function() {
$("#f1").val("Turkey");
$("#f2").val("Mashed Potato");
$("#f3").val("Wine");
});