/ / Як я можу отримати елемент масиву з масиву у значенні елемента форми? - JavaScript, php, jquery, форми

Як отримати елемент масиву з масиву у значенні елемента форми? - javascript, php, jquery, forms

У мене є елемент форми html з його значенням, встановленим якмасив. Я хочу отримати одне з цих значень з масиву через jQuery. Як це робиться? Ось мій код. Можливо, це може говорити само за себе, якщо моє пояснення не було зрозумілим. Дякую!

    var lat = 0;
var long = 0;

//gets the latitude and longitude when a user clicks on any place on the map

map.on("click", function(e) {
lat = e.latlng.lat;
long = e.latlng.lng;

//store the lat and long in an array

var latlong = [lat, long];

//here I am setting the value of my an element in my form as the array of lat and long

document.getElement(".<?= $this->getName() ?>").set("value", latlong);
var getLatlong = jQuery(".<?= $this->getName() ?>").val();
console.log("retrieved: " + getLatlong);

//it saves and retrieves properly.

//THE PROBLEM IS HERE
//THE PROBLEM IS HERE
var lat = $(".<?= $this->getName() ?>").val()[0];
var long = $(".<?= $this->getName() ?>").val()[1];
//THE PROBLEM IS HERE
//THE PROBLEM IS HERE


});

Це все працює нормально, але я не отримую того, чого я хочу. Якщо я спробую використовувати будь-який з рядків коду нижче

    //THE PROBLEM IS HERE
var lat = $(".<?= $this->getName() ?>").val()[0];    //returns 9
var long = $(".<?= $this->getName() ?>").val()[1];   //returns 4
var long = $(".<?= $this->getName() ?>").val()[3];   //returns 2
var long = $(".<?= $this->getName() ?>").val()[4];   //returns 3
//THE PROBLEM IS HERE

щоб отримати або широту, або довготу ", тобто: 94.2323, 12.9932"

The index [0] returns 9,
the index [1] returns 4,
the index [3] returns 2

наче 94.2323 - це масив замість lat та довгий як масив. Я хочу [0] повернути 94.2323, а [1] повернути 12.9932.

Я спробував пояснити це і сформулювати це питання найкращим чином. Дякую.

Відповіді:

1 для відповіді № 1

Ви можете використовувати JSON.stringify() перетворити Array до JSON формат

document.getElement(".<?= $this->getName() ?>")
.set("value", JSON.stringify(latlong));

JSON.parse() перетворити JSON відформатований String до Array

var getLatlong = JSON.parse(jQuery(".<?= $this->getName() ?>").val());
console.log(getLatlong[0], getLatlong[1]); // do stuff