保存输入值(文本),但都有相同的类?

时间:2014-06-04 19:39:45

标签: jquery

我正在尝试创建一个Javascript页面,用户可以在第一个框中键入内容,然后该内容将替换为第二个框中的内容。像这样:

http://jsfiddle.net/8PesF/

基本上只是几个文本字段。现在,它们都有相同的类,但我需要将每个字段保存到一个数组中。到目前为止我一直试图做的是:

str1 = ["First String", "Second String"];
str2 = ["First replace", "Second replace"];

然后我可以做到:

$("body").submit(function() {
    $("textarea").each(function() {
        for(i=0;i<str1.length;i++) {
            $(this).val($(this).val().replace(str1[i],str2[i]));
        }
    });
});

对于数组中的每个值,这将在每个textarea中用str2替换str2。所以我需要将输入字段转换为数组,因此数组将返回输入字段内的内容。

2 个答案:

答案 0 :(得分:0)

我不确定你提供的循环函数是否会完全符合你的要求(尽管如此),但这将解决“我需要将输入字段转换为数组”部分。

var str1 = $(".string1").map(function(i, v) {
    return $(this).val();
}).toArray();

var str2 = $(".string2").map(function(i, v) {
    return $(this).val();
}).toArray();

DEMO

答案 1 :(得分:0)

我更新了你的小提琴:http://jsfiddle.net/8PesF/1/

$("#btn").click(function(){
    var strings = {};
    $('.string1').each(function(i){
        strings['str'+i] = new Array();
        strings['str'+i][0] = $(this).val();
        strings['str'+i][1] = $(this).next("input.string2").val();
    });
    console.log(strings);
});