Я использую jVectorMaps. По умолчанию, он не позволяет выбрать регионы КРОМЕ >>regionsSelected: true
В jVectorMap, как выбрать регион ТОЛЬКО ЕСЛИ условие выполнено?
Здесь не то, что я пытаюсь достичь:
Когда пользователь щелкает по области он/она получает побудил вопрос, взятый из загруженного JSON файл. Мне нужен цвет области для того чтобы изменить ТОЛЬКО в случае, если ответ на вопрос верен.
Мой код до сих пор:
$(function(){
map = new jvm.Map({
container: $('#map'),
map: 'world_mill_en',//map file
backgroundColor: ['#1E90FF'],//map background color
regionsSelectable:true,//this needs to be true to be able to select a region
onRegionClick: function(event, code){
var map = $('#map').vectorMap('get', 'mapObject');
var regionName = map.getRegionName(code);
$.getJSON('../countries.json', function(data) {
for (var i in data.country) {
if (data.country[i].name === regionName){
var answer = prompt(data.country[i].question, "Type your answer here.");
if(data.country[i].answer === answer){
alert("Correct!");
}else{
alert("Wrong. Try again.");
}
}
}
});
},
});
});
Я думаю, что я должен найти способ, чтобы динамически изменять значение свойства regionsSelectable
после условие if(data.country[i].answer === answer)
выполнено. Если это не так, значение свойства regionsSelectable
должно оставаться false
.
Я новичок, поэтому любая критика более чем приветствуется, я, вероятно, в любом случае отсюда! :)
Эй, спасибо! Сейчас это работает. Я могу выбрать страну в зависимости от состояния. Но скажите, если у меня выбрано 5 стран (это 5 правильных ответов подряд), и я отвечаю на один неправильно, что все выбранные страны не выбраны. Мне нужна только одна страна, которую нужно отменить. Дайте мне знать, если у вас есть мысли по этому поводу. Еще раз спасибо – codeWolf
Попробуйте метод map.getSelectedRegion(), чтобы получить выбранные регионы перед каждым регионом, нажмите – CPR43
, спасибо, я отмечу это как ответ, так как он меня на правильном пути – codeWolf