0

目前我正在使用 jQuery 来检查选择框的值,这些值要么是要么truefalse但是当我在 jquery 中选择值时,它会将其识别为字符串。

然后我必须将它更改为布尔值才能在我的工作中工作我setOptions想知道是否可以转换为布尔值而不必经历我在下面完成的过程?

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
    });
});
4

2 回答 2

2

如果.val()在字符串类型中使用结果,那么您必须使用它,但是您可以将代码缩短为以下内容:

$('#scalecontrol').change(function(){
    ao.scalecontrol = $(this).val() == 'true';
    map.setOptions({
        scaleControl:ao.scalecontrol
    });
});
于 2013-11-11T11:57:13.340 回答
1

尝试这个:

$('#scalecontrol').change(function(){
    map.setOptions({
        scaleControl: $(this).val() === "true"
    });
});
于 2013-11-11T11:57:33.750 回答