En Javascript, je reçois une chaîne comme j'ai une chaîne exactement comme H01=13 H02=12 H03=43 H04=56.....?

Je veux diviser la chaîne et la donner aux différentes zones de texte de la page comme

txtHeight01's value(text) is 13 
txtHeight02's value(text) is 12 
txtHeight03's value(text) is 43 

Une partie du code serait comme

paddedcounter = i.padLeft(2, '0'); //(i is for(i=0;i<3;i++)
$('#txtHeight' + paddedcounter).val()=//These will the values from the splitted string.
0
Sam 11 nov. 2011 à 00:24

3 réponses

Meilleure réponse
    var strTest = 'H01=13 H02=12 H03=43 H04=56';
    var splitArrayBySpace = strTest.split(' ');
    for(var i = 0; i < splitArrayBySpace.length; i++){
            var splitArraybyValue = splitArrayBySpace[i].split('=');
            $('#txtHeight' + splitArraybyValue[0]).val(splitArraybyValue[1]);
    }        

Cela devrait le faire.

2
Charlie Brown 10 nov. 2011 à 20:38

Vous n'avez pas besoin d'utiliser l'expression régulière, vous pouvez faire quelque chose comme ceci:

$(document).ready(function() {
    var string = 'H01=13 H02=12 H03=43 H04=56';
    var split = string.split(' ');

    for (var i = 0, length = split.length; i < length; i++) {
        split[i] = split[i].split('=');

        //Then you can do:
        $('#txtHeight' + i).val(split[i][1]);
    }

    console.log(split);
});

Ce qui vous donne ceci:

[["H01", "13"], ["H02", "12"], ["H03", "43"], ["H04", "56"]]
1
TrexXx 10 nov. 2011 à 21:00

Générer un objet de valeur clé:

var arr = 'H01=13 H02=12 H03=43 H04=56'.split(' '),
    obj = {};

for (var i = 0; i < arr.length; i++) {
    var val = arr[i].split('=');
    obj[val[0]] = val[1];
}

console.log(obj);
/* output Object
{
    H01: "13",
    H02: "12",
    H03: "43",
    H04: "56"
}
*/

Que vous pouvez créer la chaîne de votre choix:

var text = [];
for (var j in obj) {
    var num = j.replace('H',''),
        value = obj[j];                        

    text.push('txtHeight' +j + '\'s value(text) is ' + value);
}
console.log(text.join('<br />'));
// output text
txtHeightH01's value(text) is 13<br />
txtHeightH02's value(text) is 12<br />
txtHeightH03's value(text) is 43<br />
txtHeightH04's value(text) is 56
0
Shlomi Komemi 10 nov. 2011 à 21:20