使用多个下拉列表更改p标记类

时间:2012-11-28 15:45:10

标签: javascript jquery css arrays class

有人可以告诉我如何有多个下拉列表,包括大小,重量,字体clolor和字体系列。 一旦用户从每个下拉菜单中选择一个,点击提交和p或div元素就会改变? 我有一个代码,但不知道如何更改多个?我还需要在点击时更改为按钮,显示屏将显示在p标签中,而不是实际按钮。

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JS Change Class</title>
<style type="text/css" media="screen">
.red { border: 1px solid red; }
.blue { border: 1px solid blue; }
.green { border: 1px solid green; }
</style>
</head>

<body>

<select id="colors">
    <option value="red">Red</option>
    <option value="blue">Blue</option>
    <option value="green">Green</option>
</select>

<input type="button" class="red" value="This is a button" id="button" />


<script type="text/javascript" charset="utf-8">

var colors = document.getElementById('colors');
var button = document.getElementById('button');

addEvent(colors, 'change', function() {
    button.className = colors.value;
});

// Based on the lessons from Nettuts
function addEvent(obj, evt, fn) {
    evt = evt.replace('on', '');
    if( obj.attachEvent )
        obj.attachEvent('on' + evt, fn);
    else
        obj.addEventListener(evt, fn, false);
}

</script>   

</body>
</html>

**更新: 我想添加,三个下拉,大小x3选项,font-family x3选项和字体权重x3选项。 用户应该能够从每个用户中选择,然后单击提交按钮,它将显示在p标签中。

1 个答案:

答案 0 :(得分:0)

使用jQuery,更改此行:

button.className = colors.value;

到此:

$(":button").each(function(){
   this.className = colors.value;
})