2015-04-09 2 views
-1

Я пытаюсь изменить значок с помощью элемента select. Я сделал это с 2 значениями, но теперь мне нужно 3.Значок изменения имени Javascript

Любая идея, что не так с этим кодом?

var icon = document.getElementById.("marker-icon"); 
    if (type == 1) { 
     marker-icon.src = "images/icon1.png"; 
    } else if (type == 2) { 
     marker-icon.src = "images/icon2.png"; 
    } else if (type == 3) { 
     marker-icon.src = "images/icon3.png"; 
} 

Этот код предназначен для 2-х значений, и он отлично работает.

var icon = (type == 1) ? "images/icon1.png" : "images/icon2.png"; 
+1

У вас есть '.' after' getElementById' – Downgoat

+1

Вам нужно использовать переменную значка, чтобы установить src, а не' marker-значок', также почему бы не использовать тип для установки нового значка. Пример 'icon.src = 'images/icon' + type + '. Png';' Можете ли вы показать, где определен флажок 'marker-icon', и показать html, чтобы пойти с этим. – NewToJS

ответ

0

Попробуйте использовать синтаксис кейса.

switch (type) { 
    case 1: 
     var icon = "images/icon1.png"; 
     break; 
    case 2: 
     var icon = "images/icon2.png"; 
     break; 
    case 3: 
     var icon = "images/icon3.png"; 
     break; 
    default: 
     //default code block 
     break; 
} 
0

Попробуйте это:

var icon = document.getElementById("marker-icon"); 
if (type == 1) { 
    icon.src = "images/icon1.png"; 
} else if (type == 2) { 
    icon.src = "images/icon2.png"; 
} else if (type == 3) { 
    icon.src = "images/icon3.png"; 
} 

Был дополнительный . после getElementById и вы использовали marker-icon вместо icon. (. Я предполагаю, что marker-icon является id из img тега)

0

Он работает с этим:

var icon = document.getElementById("icon"); 
    if (type == 1) { 
     icon = "images/icon1.png"; 
    } else if (type == 2) { 
     icon = "images/icon2.png"; 
    } else if (type == 3) { 
     icon = "images/icon3.png"; 
    } 

Спасибо за все! ^^

Смежные вопросы