根据下拉列表中的选择设置CSS规则

问题描述:

我有动态生成id的文本框和下拉对。我试图根据下拉列表中的选项在文本框中设置css规则(类)。我有一个下拉的索引,这是用来动态地派生下拉的ID。如何在文本框中设置CSS规则。如果我尝试使用JavaScript设置类,则更改不会反映,直到我刷新页面。根据下拉列表中的选择设置CSS规则

我打开使用普通的JavaScript或jQuery或两者的组合。

+0

你能表现出一定的代码? – dezman 2013-02-20 16:44:25

+0

你不能使用后代选择器来定位它们吗? http://www.w3.org/TR/CSS2/selector.html#descendant-selectors – InsomniaBass 2013-02-20 16:45:15

将一个类添加到您的选择中,以便您可以更轻松地使用jQuery进行选择。

<div> 
    <select id="Generated1234" class="cssRule"> 
     <option value="class1">Class #1</option> 
     <option value="class2">Class #2</option> 
    </select> 
    <input type="text" name="Generated1234_text"/> 
</div> 

jQuery代码,假设您的输入文本框是select的同级。您可能需要更改最后一行以选择正确的文本框。

$(document).ready(function(){ 
    $('select.cssRule').change(function(){ 
     var $this = $(this); 
     var className = $this.val(); 
     $this.siblings('input[type=text]').attr('class', className); 
    } 
} 

你可能会尝试类似的;

HTML;

<select id="selectoptions" class="cssRule"> 
     <option class="class1" value="red">red</option> 
     <option class="class2" value="blue">blue</option> 
    </select> 
<input id="mytext" type="text" name="mytext"/> 

JavaScript; //将代码包装在document.ready.function中

$("select").change(function() { 
    var color = $("#selectoptions").val(); 
    $("#mytext").css("background",color); 
}); 

CSS;

#mytext{ 
    background:red; 
} 

这里是一个Working Live Demo