将多个字段组合到1个输入字段时出现问题

时间:2012-12-27 06:51:34

标签: javascript jquery

我有一些代码可以组合多个字段并传递到用户个人资料页面上的1个输入字段F.加载后,#Salary_para1将首先将值传递给字段F,然后当用户在#Salary_value中输入值时,它也会将其值传递给字段F.与#Salary_para2复选框相同的条件。

用户保存个人资料页面后出现问题。假设,保存后字段F的值为“MYR1000 + Allowance”。加载后,字段F仍然显示#Salary_para1(样本中的'MYR')而不是“MYR1000 + Allowance”的值。

1)如何确保加载后字段F显示“MYR1000 + Allowance”? 2)如果用户没有向#Salary_value输入值,如何使它不传递#Salary_para1(MYR)的值? 3)如何确保如果加载后的字段F具有“MYR”和“+ Allowance”的值,则字段#Salary_para1将显示“MYR”并且复选框#Salary_para2将被检查? (还原)

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

CODE:

<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 个答案:

答案 0 :(得分:0)

1)只有当你在某处保存F字段时才有可能..因为无法获得 重新加载后的javascript var

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

3)可以回复..考虑到你将F字段var保存在某处...加载var ..将其拆分为arras并检查条件..

检查这个小提琴..

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

并摆弄其他例子..

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

相关问题