2013-11-11 4 views
0

В настоящее время я использую jQuery для проверки значения поля выбора, а значения - true или false, но когда я иду, чтобы выбрать значение в jquery, он распознает его как строку.Javascript String to Boolean

Тогда я должен пойти изменить его на Boolean, чтобы он работал в моем setOptions Мне было интересно, можно ли было преобразовать в Boolean, не пройдя процесс, который я сделал ниже?

HTML

<select name="scalecontrol" id="scalecontrol"> 
    <option value="false">None</option> 
    <option value="true" selected="selected">Standard</option> 
</select> 

JQuery

$('#scalecontrol').change(function(){ 
    ao.scalecontrol = $(this).val(); 
    if (ao.scalecontrol == 'false'){ 
     ao.scalecontrol = false; 
    } else { 
     ao.scalecontrol = true; 
    } 
    map.setOptions({ 
     scaleControl:ao.scalecontrol 
    }); 
}); 
+0

см http://stackoverflow.com/questions/263965/how-can-i-convert-a-string-to-boolean-in-javascript – amdixon

+0

Я удалил свой ответ, так как) это было чрезмерным (спасибо @musefan), и б) на него уже ответили до – Archer

+0

попробуйте это ao.scalecontrol = ($ (this) .val() === 'true'); –

ответ

2

При использовании .val() результатов в виде строки типа, то вы должны работать с этим, однако вы можете сократить свой код на следующее:

$('#scalecontrol').change(function(){ 
    ao.scalecontrol = $(this).val() == 'true'; 
    map.setOptions({ 
     scaleControl:ao.scalecontrol 
    }); 
}); 
+0

спасибо, что это работает отлично, и это то, что мне нужно – ngplayground

1

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

$('#scalecontrol').change(function(){ 
    map.setOptions({ 
     scaleControl: $(this).val() === "true" 
    }); 
});