我的jQuery onchange
事件在我的iPhone上的Safari中无法正常工作。
onchange
所在的位置:
//Detects change in location and updates with location name and address
$('#location').on('change', function () {
var serviceId = $("#location").val();
$.ajax({
type: "get",
url: 'utilities/fetchdata?fetch=locationbyid&location=' + serviceId + '',
success: function (data) {
var locationData = JSON.parse(data);
document.getElementById("location-name").innerHTML = locationData.name;
document.getElementById("location-address1").innerHTML = locationData.address;
//Fetch servies offered by that location
$.ajax({
type: "get",
url: 'utilities/fetchdata?fetch=services&location=' + serviceId + '',
success: function (data) {
console.log(data);
var newOptions = JSON.parse(data);
var $el = $("#service");
$el.empty(); // remove old options
$.each(newOptions, function(key,value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
}
});
}
});
});
这是它正在监听的内容:
<select name="location" class="form-control" id="location">
<option disabled selected>-- Velg Lokasjon --</option>
<?php
//Fetch locations
if (! $locations = $locationData->fetchHTMLINPUT()) {
echo $locations;
} else {
echo "<option disabled>Systemfeil oppsto</option>";
}
?>
</select>
我需要做的是始终如一地触发事件,因为这是吸引用户遵循的下一步的地方。
预期行为:
我认为这很奇怪,因为它可以在我的台式机以及Edge上的Chrome中使用。
有人可以指出我要在移动设备上使用的解决方法吗?
答案 0 :(得分:0)
好吧
我有点想通了。似乎移动iOS浏览器无法在呈现HTML之后刷新选择的内容,但是使用f.ex $('#service').html(data);
更改HTML就像一种魅力,尽管必须在服务器端生成HTML。< / p>