如何通过JS改变<ion-input></ion-input>元素的输入值

How to change the input value of <ion-input></ion-input> element via JS

我正在尝试通过 JS 为我的离子输入元素分配一个值。这是我的代码:

HTML:

<ion-input type="text" placeholder=" Enter a location" style="padding-left: 10px;" id="geolocation"></ion-input>

JAVASCRIPT:

function onSuccess(position) {
        var element = document.getElementById('geolocation').value = position.coords.latitude  + ',' + position.coords.longitude;
        //element.value =  position.coords.latitude  + ',' + position.coords.longitude + element.value;

    }

我无法更改我的输入元素的值,我想将 position.coords.latitude + ',' + position.coords.longitude 作为我的输入元素的值。

希望得到快速答复。谢谢!

假设您正确接收了数组形式的纬度和经度,代码应如下所示:

function onSuccess(position) {
        document.getElementById('geolocation').setAttribute("value", latitude + ', ' + longitude);
}

在这里测试:https://jsfiddle.net/nabtron/qy96n44k/

解释:

这里我们简单地通过使用其 Id 调用元素并设置其属性值,如下所述:https://nabtron.com/javascript-tips/

试试这个。

document.getElementById("geolocation").value=
     (position.coords.latitude  + ',' + position.coords.longitude);

试试这样的东西:

[(ngModel)]="position.coords.latitude  + ';' + position.coords.longitude"

Dom 操作会起作用,但这不是正确的方法,请参阅下面的解决方案:

HTML

<ion-input type="text" placeholder=" Enter a location" style="padding-left: 10px;" id="geolocation" [(ngModel)]="position.coords.latitude  + ';' + position.coords.longitude"></ion-input>

Javascript:

...

export class Geolocation {

   //{ position : { coords : { latitude : ... , longitude : ... } } }
   position : any;

   ...
}