我正在使用在地图上生成的输入字段。我想将输入字段的占位符文本从“搜索”更改为“搜索位置”。
输入字段没有类或id,但它的父节点有。我尝试使用下面的jQuery初始化后进行更改无效。
$('.leaflet-control-mapbox-geocoder-form input').attr("placeholder","Search for Location");
下面是输入字段可见的小提琴。我很高兴继续使用jQuery或纯JS。
答案 0 :(得分:3)
它不适用于你的例子,因为没有包含jQuery。
如果您不想使用jQuery,可以使用以下内容:
document.querySelector('.leaflet-control-mapbox-geocoder-form input').placeholder = "Search for Location";
您还可以为ready
事件添加事件侦听器,然后更改回调中的placeholder
属性。同样,不需要jQuery:
L.mapbox.accessToken = 'pk.eyJ1Ijoic3BheWNlIiwiYSI6IlNIMnRfZ2MifQ.SreIfdJljzEj2M033UubsA';
L.mapbox.map('map', 'examples.h186knp8')
.addControl(L.mapbox.geocoderControl(
'mapbox.places', {
keepOpen: true
}
))
.addEventListener('ready', function () {
document.querySelector('.leaflet-control-mapbox-geocoder-form input').placeholder = "Search for Location";
}
);
答案 1 :(得分:2)
一种更好的方法是在地理编码器对象中添加键值对(占位符: 您的文本 ),就像在初始化时那样:>
var geocoder = new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
mapboxgl: mapboxgl,
placeholder: 'Search for Location'
});