选择改变颜色图案不会显示
select change color pattern wont show
function colorSelectCheck(){
var select_val = $('#color_Pattern_selector').val();
if(select_val)
{
colorPattern(select_val);
//show the pattern i wanted
//colorPattern(RedBox);
alert(select_val);
}
return;
}
$(document).ready(function () {
$("#color_Pattern_selector").change(colorSelectCheck).change();
});
我的意图是改变颜色模式取决于选择值,但颜色不会增加,如果我传递这些数组选择。
这是我的DEMO
删除//上的colorPattern(RedBox)来显示我的意思。
您的变量color_Pattern_box
是一个字符串,其中包含您想要使用的变量的名称,而不是实际变量本身。
将颜色数组添加到对象中,并将其名称作为属性名称
var BoxColors = {
"RedBox": ["#FFEBEE", "#E57373", "#F44336", "#B71C1C"],
"PinkBox": ["#F48FB1", "#E91E63", "#AD1457"]
};
然后使用选择框的值作为对象属性名来选择正确的颜色数组
var colorArray = BoxColors[select_val];
colorPattern(colorArray);
演示var BoxColors = {
RedBox: ["#FFEBEE", "#E57373", "#F44336", "#B71C1C"],
PinkBox: ["#F48FB1", "#E91E63", "#AD1457"]
};
function colorPattern(color_Pattern_box){
var color_Board = $('#colorBoard');
var color_temp = ('');
for(var c = 0; c < color_Pattern_box.length; c++){
color_temp += "<li class='mycolor'; id="+color_Pattern_box[c]+" style='background: "+color_Pattern_box[c]+";'></li>";
}
color_Board.html(color_temp);
}
function colorSelectCheck(){
var select_val = $('#color_Pattern_selector').val();
if(select_val) {
colorPattern(BoxColors[select_val]);
}
return;
}
$(document).ready(function () {
$("#color_Pattern_selector").change(colorSelectCheck).change();
});
.mycolor{
width:50px;
height:50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="color_Pattern_selector">
<option value="RedBox">Red</option>
<option value="PinkBox">Pink</option>
</select>
<ul id="colorBoard"></ul>
这是一个引用问题,但如果使用eval就可以做到。小心使用eval()
,未经父母同意不要使用;)
colorPattern(eval(select_val));
相关文章:
- JavaScript改变了双方的显示风格
- 在Asp.net的空网站中,如何改变"Web.config”;使内容(.js)文件显示在浏览器中,而不是下载
- Javascript:改变内部HTML与显示
- 在javascript中显示表格而不改变html
- 如何改变“;defaultOptions"lang在highCharts中动态显示
- 改变方向时显示多个标记的地图
- 在改变阵列位置和以角度动态显示内容时遇到问题
- 改变显示的网页
- 当我改变选择标记为什么不在输入id=“0”中显示数据时;消息”;
- 我修改了我的PHP代码,但是浏览器中显示的结果没有改变.是否有某种“缓存”?PHP中的错误
- Jquery隐藏/显示取决于复选框改变的值
- 我试图让我的幻灯片改变图片:按下一个按钮应该改变显示的图像按下的按钮
- 改变DOM,但不显示在浏览器中
- jQuery选择后改变显示2级选择
- 多个显示/隐藏改变文本
- 突出显示所有在AngularJS中以编程方式改变的输入
- 我可以改变引导崩溃,只显示/展开时,单击一个图标
- Video.js改变源,但不显示新的源
- 根据尺寸改变价格并显示尺寸
- 如何在ExtJS网格中显示改变的值