2011-03-04 16 views

回答

3

我覺得http://jsfiddle.net/ThiefMaster/YYNSm/10/是你想要的。

$(document).ready(function() { 
    var buttonData = [null, null]; 
    $("#lang input:button").click(function() { 
     buttonData[0] = $(this).val(); 
     if(buttonData[0] && buttonData[1]) { 
      $("#camouflage").val(buttonData[0] + ', ' + buttonData[1]); 
     } 
    }); 

    $("#letters input:button").click(function() { 
     buttonData[1] = $(this).val(); 
     if(buttonData[0] && buttonData[1]) { 
      $("#camouflage").val(buttonData[0] + ', ' + buttonData[1]); 
     } 
    }); 
}); 
+0

正是我所需要的,非常感謝, 和schönenTag noch! – Argoron 2011-03-04 10:29:55

+0

順便說一句,將這兩個值存儲在正確命名的變量而不是數組中會更好。此外,移動代碼以檢查兩個值是否都已設置,並將顯示的值更新爲單獨的函數是有意義的(D-R-Y)。 – ThiefMaster 2011-03-04 10:32:29

0

我不知道你怎麼個意思,但是這個代碼,使語言和字母的組合最新:http://jsfiddle.net/JG6Aw/1/

var lang = '', 
    letter = '', 
    $cam = $('#camouflage'); 

$("#lang input").click(function() { 
    lang = $(this).val(); 
    update(); 
}); 

$("#letters input").click(function() { 
    letter = $(this).val(); 
    update(); 
}); 

var update = function(){ 
    $cam.val(lang + ',' + letter); 
}; 
+0

如果用戶首先點擊字母,那麼它會失敗 – diEcho 2011-03-04 10:28:15

+0

不,不。錯誤的網址:) – Simeon 2011-03-04 10:30:23

0

使用這個jQuery,我已經做了我在多大程度上理解你的問題

var allowpress=false; 
$(document).ready(function() { 
    $("#lang input[type=button]").click(function() { 
     $("#camouflage").val($(this).val()); 
     allowpress=true; 
    }); 

    $("#letters input[type=button]").click(function() { 
     if(allowpress) { 
     $("#camouflage").val($("#camouflage").val() + ',' + $(this).val()); 
     allowpress=false; 
     } 
    }); 

}); 

,你可以在這裏看到它http://jsfiddle.net/gubhaju/wTFGm/

0
$(document).ready(function() { 
    var languages = ['French', 'English', 'Spanish', 'German']; 
    var letters = ['A', 'B', 'C', 'D', 'E']; 

    $("input[type=button]").click(function() {  
     var selections = []; 
     var previous = $("#camouflage").val().length > 0 ? $("#camouflage").val().split(',') : []; 

     var isLetter = $.inArray($(this).val(), letters) > -1; 

     selections = previous; 

     if (previous.length == 1){ 
      selections[$.inArray(previous[0], languages) > -1 ? 0: 1] = previous[0]; 
     } 

     selections[isLetter ? 1 : 0] = $(this).val(); 
     $("#camouflage").val(selections.length > 1 ? selections.join(',') : selections[0]); 
    }); 
});