[英]Change the placeholder text of an input field after initializing
我正在使用在地圖上生成的輸入字段。 我想將輸入字段的占位符文本從“搜索”更改為“搜索位置”。
輸入字段沒有類或 id,但其父字段有。 我嘗試使用下面的 jQuery 初始化后進行更改,但無濟於事。
$('.leaflet-control-mapbox-geocoder-form input').attr("placeholder","Search for Location");
下面是輸入字段可見的小提琴。 我很高興繼續使用 jQuery 或通過純 JS。
它在您的示例中不起作用,因為未包含 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";
}
);
更好的方法是在初始化時向地理編碼器對象添加一個鍵值對(占位符:您的文本):
var geocoder = new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
mapboxgl: mapboxgl,
placeholder: 'Search for Location'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.