0

複数のフィールドの値をテキストフィールドに渡します。チェックボックスに問題があります。チェックボックス(許容値)がユーザーがチェックした場合にのみテキストフィールドに値を渡すことを確認するにはどうすればよいですか?

http://jsfiddle.net/e2ScF/55/

HTML:

<select id="Salary_para1">
  <option value="">Choose...</option>
  <option value="MYR" selected>MYR</option>
  <option value="SGD" >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="">

コード:

$(function() {
  $("#Salary_para1").change(function(){
    setTarget()
  });
  $("#Salary_para2").change(function(){
    setTarget()
  });
  $("#Salary_value").keyup(function(){
    setTarget();
  });
});

function setTarget(){
  var tmp = $("#Salary_para1").val();
  tmp += $("#Salary_value").val();
  tmp += $("#Salary_para2").val();
  $('#targetTextField').val(tmp);
}
4

2 に答える 2

2

チェックボックスがchecked次のとおりであるかどうかを確認します。

$(function() {
    setTarget();
    $("#Salary_para1,#Salary_para2").change(setTarget);
    $("#Salary_value").keyup(setTarget);

    function setTarget() {
        var tmp = $("#Salary_para1").val();
        tmp += $("#Salary_value").val();
        tmp += $("#Salary_para2:checked").val() || '';
        $('#targetTextField').val(tmp);
    }
});​

http://jsfiddle.net/oceog/e2ScF/62/

(元のコードでリファクタリングも行いました)

于 2012-12-16T02:42:32.070 に答える
0

申し訳ありませんが、このような意味ですか?

function setTarget(){
    var tmp = $("#Salary_para1").val();
    tmp += $("#Salary_value").val();
    tmp += $("#Salary_para2").val();
    if($("#Salary_para2").is(":checked")){
        $('#targetTextField').val(tmp);
    }
}
​

例:

http://jsfiddle.net/e2ScF/59/

于 2012-12-16T02:38:00.477 に答える