2012-12-16 55 views
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=""> 

CODE:

$(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); 
} 

回答

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/

(ⅰ還對orinal代碼一些重構)

爲簡潔起見,請致電+1,
+0

。 –

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/

相關問題