jQuery - 由两个按钮集产生的字符串的动态串联

时间:2011-03-04 10:03:47

标签: jquery input concatenation

我正在尝试让jQuery在输入字段中连接两个字符串,其中每个字符串是用户在两个按钮列表中按下一个按钮的结果。 每次按下不同的按钮时,字段值都应更新,从而显示最新的按钮组合。

这是我有多远:

http://jsfiddle.net/Argoron/YYNSm/

感谢您的帮助

4 个答案:

答案 0 :(得分: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]);
        }
    });
});

答案 1 :(得分: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);
};

答案 2 :(得分: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/

看到它

答案 3 :(得分: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]);
    });
});