Javascript 更改复选框上的变量值
我需要能够更改复选框检查变量的值 我想做的是,当选中区域1单选按钮时,图例会显示以下值:Javascript 更改复选框上的变量值,javascript,html,css,Javascript,Html,Css,我需要能够更改复选框检查变量的值 我想做的是,当选中区域1单选按钮时,图例会显示以下值: var populationScore1 = 50000; var populationScore2 = 100000; var populationScore3 = 250000; var populationScore4 = 500000; var populationScore5 = 10000000; var populationScore1 =
var populationScore1 = 50000;
var populationScore2 = 100000;
var populationScore3 = 250000;
var populationScore4 = 500000;
var populationScore5 = 10000000;
var populationScore1 = 100000;
var populationScore2 = 200000;
var populationScore3 = 500000;
var populationScore4 = 1000000;
var populationScore5 = 20000000;
当选中区域2单选按钮时,图例会显示以下值:
var populationScore1 = 50000;
var populationScore2 = 100000;
var populationScore3 = 250000;
var populationScore4 = 500000;
var populationScore5 = 10000000;
var populationScore1 = 100000;
var populationScore2 = 200000;
var populationScore3 = 500000;
var populationScore4 = 1000000;
var populationScore5 = 20000000;
我在下面创建了一个简单的if-then语句:
有关守则如下:
if(area1.checked) {
var populationScore1 = 50000;
var populationScore2 = 100000;
var populationScore3 = 250000;
var populationScore4 = 500000;
var populationScore5 = 10000000;
} else if (area2.checked) {
var populationScore1 = 100000;
var populationScore2 = 200000;
var populationScore3 = 500000;
var populationScore4 = 1000000;
var populationScore5 = 20000000;
}
它在页面加载时也可以工作,但只有在我手动将选中的状态添加到单选按钮时才能工作
完整代码如下:
if(area1.checked) {
var populationScore1 = 50000;
var populationScore2 = 100000;
var populationScore3 = 250000;
var populationScore4 = 500000;
var populationScore5 = 10000000;
} else if (area2.checked) {
var populationScore1 = 100000;
var populationScore2 = 200000;
var populationScore3 = 500000;
var populationScore4 = 1000000;
var populationScore5 = 20000000;
}
var映射;
//颜色
//人口地图颜色
var populationColor=“”;//多边形填充颜色
变量populationColor1='#edf8fb';
var populationColor2='#b2e2e2';
变量populationColor3='#66c2a4';
变量populationColor4='#2ca25f';
变量populationColor5='#006d2c';
//传奇分数
//人口地图分数
如果(区域1.选中){
var populationScore1=50000;
var populationScore2=100000;
var populationScore3=250000;
var populationScore4=500000;
变量populationScore5=10000000;
}否则如果(区域2.选中){
var populationScore1=100000;
var populationScore2=200000;
var populationScore3=500000;
var populationScore4=1000000;
变量填充分数5=20000000;
}
//传奇
//人口传说
document.getElementById('populationLegend').innerHTML=
"" +
“人口”+
"" +
“”+
“- 0-”+populationScore1.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“+”
”+
“- ”+populationScore1.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“+”-“+populationScore2.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“,”,“
”+
“- ”+populationScore2.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“+”-“+populationScore3.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“,”,“
”+
“- ”+populationScore3.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“+”-“+populationScore4.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“,”,“
”+
“- ”+populationScore4.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“+”-“+populationScore5.toString().replace(/\B(?=(\d{3})+(?!\d))/g,”,“,”,“
”+
“
”+
"" +
"";
函数show1(){
document.getElementById('my-legend').style.display='none';
}
函数show2(){
document.getElementById('my-legend').style.display='block';
document.getElementById('populationLegend').style.display='block';
}
#我的传奇{
位置:绝对位置;
底部:5%;
左:2%;
z指数:5;
背景色:#fff;
填充物:5px;
字体系列:“Roboto”,“sans-serif”;
线高:30px;
左侧填充:10px;
边界半径:3px;
框大小:边框框;
-moz框大小:边框框;
大纲:无;
盒影:0 2px 6px rgba(0,0,0,0.3);
显示:无;
}
#我的传奇。传奇标题{
文本对齐:左对齐;
边缘底部:5px;
字体大小:粗体;
字体大小:90%;
}
#我的传奇。传奇规模{
保证金:0;
边缘底部:10px;
填充:0;
浮动:左;
列表样式:无;
}
#我的传奇。传奇的规模{
字体大小:70%;
列表样式:无;
左边距:0;
线高:16px;
边缘底部:2px;
}
#我的legend ul.legend-labels li span{
显示:块;
浮动:左;
高度:17px;
宽度:20px;
右边距:5px;
左边距:0;
}
#我的传奇ul.legend-labels li:第一个孩子{
边界半径:4px4p0;
}
#我的传奇ul.legend-labels li:最后一个孩子{
边界半径:0 0 4px 4px;
}
#我的传奇{
颜色:#777;
}
输入#a{
边框:1px黑色实心;
边界半径:4px 0 0 4px;
}
一区
区域2
没有传奇
传奇
与代码相关每次单击单选按钮时,都应填充innerHTML内容
我想看看你的完整代码,但在代码片段中,你的javascript代码运行起来就像是内置的,应该是动态的
在本例中,每次单击第二个按钮(show2()函数)时,都应该将函数从显示样式更改更改为重新编写内部html
我建议定义另一个函数来绘制图例html,该图例html接收作为参数的总体值或引用成员变量。与您的代码相关,您应该在每次单击单选按钮时填充innerHTML内容 我想看看你的完整代码,但在代码片段中,你的javascript代码运行起来就像是内置的,应该是动态的 在本例中,每次单击第二个按钮(show2()函数)时,都应该将函数从显示样式更改更改为重新编写内部html
我建议定义另一个函数,该函数绘制图例html,接收总体值作为参数或引用成员变量。使用您编写的代码并尽可能少地修改,解决方案是1)创建
update()
函数,2)设置onclick=“update()”
收音机的属性
<style>
#my-legend {
position: absolute;
bottom: 5%;
left: 2%;
z-index: 5;
background-color: #fff;
padding: 5px;
font-family: 'Roboto','sans-serif';
line-height: 30px;
padding-left: 10px;
border-radius: 3px;
box-sizing: border-box;
-moz-box-sizing: border-box;
outline: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
display: none;
}
#my-legend .legend-title {
text-align: left;
margin-bottom: 5px;
font-weight: bold;
font-size: 90%;
}
#my-legend .legend-scale ul {
margin: 0;
margin-bottom: 10px;
padding: 0;
float: left;
list-style: none;
}
#my-legend .legend-scale ul li {
font-size: 70%;
list-style: none;
margin-left: 0;
line-height: 16px;
margin-bottom: 2px;
}
#my-legend ul.legend-labels li span {
display: block;
float: left;
height: 17px;
width: 20px;
margin-right: 5px;
margin-left: 0;
}
#my-legend ul.legend-labels li:first-child span {
border-radius: 4px 4px 0 0;
}
#my-legend ul.legend-labels li:last-child span {
border-radius: 0 0 4px 4px;
}
#my-legend a {
color: #777;
}
input #a {
border: 1px black solid;
border-radius: 4px 0 0 4px;
}
</style>
<div id="maptype">
<div id="content">
<form class="form">
<div class="switch-field">
<input type="radio" id="area1" name="switch-two" onclick="update();" checked/>
<label for="area1">Area 1</label>
<input type="radio" id="area2" name="switch-two" onclick="update();" />
<label for="area2">Area 2</label>
</div>
</form>
<label class="container" style="margin-top: 12px;" onclick="show1();">No Legend
<input type="radio" checked="checked" name="radio" id="area">
<span class="checkmark"></span>
</label>
<label class="container" onclick="show2();">Legend
<input type="radio" name="radio" id="Population">
<span class="checkmark"></span>
</label>
</div>
</div>
<div id="my-legend">
<div id="populationLegend"></div>
</div>
</div>
</div>
<script>
var map;
//COLORS
// Population Map Color
var populationColor = ""; // polygon fill color
var populationColor1 = '#edf8fb';
var populationColor2 = '#b2e2e2';
var populationColor3 = '#66c2a4';
var populationColor4 = '#2ca25f';
var populationColor5 = '#006d2c';
function update() {
// LEGEND SCORES
// Population Map Score
if (area1.checked) {
var populationScore1 = 50000;
var populationScore2 = 100000;
var populationScore3 = 250000;
var populationScore4 = 500000;
var populationScore5 = 10000000;
} else if (area2.checked) {
var populationScore1 = 100000;
var populationScore2 = 200000;
var populationScore3 = 500000;
var populationScore4 = 1000000;
var populationScore5 = 20000000;
}
// LEGEND
// Population Legend
document.getElementById('populationLegend').innerHTML =
"<div id='populationLegend'>" +
"<div class='legend-title'>Population</div>" +
"<div class='legend-scale'>" +
"<ul class='legend-labels'>" +
"<li><span style='background:" + populationColor1 + "'></span>0 - " + populationScore1.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</li>" +
"<li><span style='background:" + populationColor2 + "'></span>" + populationScore1.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + " - " + populationScore2.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</li>" +
"<li><span style='background:" + populationColor3 + "'></span>" + populationScore2.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + " - " + populationScore3.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</li>" +
"<li><span style='background:" + populationColor4 + "'></span>" + populationScore3.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + " - " + populationScore4.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</li>" +
"<li><span style='background:" + populationColor5 + "'></span>" + populationScore4.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + " - " + populationScore5.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "</li>" +
"</ul>" +
"</div>" +
"</div>";
}
update();
function show1() {
document.getElementById('my-legend').style.display = 'none';
}
function show2() {
document.getElementById('my-legend').style.display = 'block';
document.getElementById('populationLegend').style.display = 'block';
}
</script>
#我的传奇{
位置:绝对位置;
底部:5%;
左:2%;
z指数:5;
背景色:#fff;
填充物:5px;
字体系列:“Roboto”,“sans-serif”;
线高:30px;
左侧填充:10px;
边界半径:3px;
框大小:边框框;
-moz框大小:边框框;
大纲:无;
盒影:0 2px 6px rgba(0,0,0,0.3);
显示:无;
}
#我的传奇。传奇标题{
文本对齐:左对齐;
边缘底部:5px;
字体大小:粗体;
字体大小:90%;
}
#我的传奇。传奇规模{
保证金:0;
边缘底部:10px;
填充:0;
浮动:左;
列表样式:无;
}
#我的传奇。传奇的规模{
字体大小:70%