将多个字段合并为一个输入字段时出现的问题

Problems when combine several fields to 1 input field

本文关键字:字段 输入 问题 一个 合并      更新时间:2023-09-26

我有一些代码来组合几个字段并传递到用户配置文件页面上的1个输入字段F。加载后,#Salary_para1将首先将值传递给字段F,然后当用户在#Salary_value中输入值时,它也将其值传递给字段F。与复选框#Salary_para2相同。

用户保存个人资料页面后出现问题。比方说,字段F保存后的值为"MYR1000 + Allowance"。加载后,字段F仍然显示#Salary_para1(样本中的"MYR")的值,而不是"MYR1000 +津贴"。

1)如何确保加载后字段F显示"MYR1000 +津贴"??2)如果用户没有输入值到#Salary_value,如何使它不传递#Salary_para1 (MYR)的值?3)如何确保如果字段F加载后有"MYR"answers"+津贴"的值,然后字段#Salary_para1将显示"MYR"和复选框#Salary_para2将被选中?(恢复)

http://jsfiddle.net/e2ScF/69/

代码:

<select id="Salary_para1">
  <option value="">Choose...</option>
  <option value="0" selected>MYR</option>
  <option value="1" >SGD</option>
</select>
<input id="Salary_value" type="text"/>
 + <input type="checkbox" id="Salary_para2" name="Salary_para2" value=" + Allowance"  />Allowance<br/>
<input type="text" id="targetTextField" name="targetTextField" size="31" tabindex="0" maxlength="99" value="MYR1000 + Allowance">
$(function() {
setTarget();
$("#Salary_para1,#Salary_para2").change(setTarget);
$("#Salary_value").keyup(setTarget);
function setTarget() {
    var tmp = $("option:selected", "#Salary_para1").text();
    tmp += $("#Salary_value").val();
    tmp += $("#Salary_para2:checked").val() || '';
    $('#targetTextField').val(tmp);
}
});

1)只有在您将F字段保存在某处时才有可能。既然不可能得到重载后的javascript变量

2)检查条件if empty or not并在那里做你的工作

3)恢复是可能的。考虑到你有F字段变量保存在某处…加载var..将其分成数组并检查条件。

检查这个提琴..

http://jsfiddle.net/e2ScF/75/

和摆弄其他的例子…

http://jsfiddle.net/e2ScF/74/