选择表单选项时更改标签的颜色

时间:2013-05-31 20:00:59

标签: jquery

我知道'简单'的方法,但我正在使用来自房地产代理商的表单小部件,因为我没有API访问权限,我不得不尝试做一些jQuery'魔术'带来生活中的一些UX功能。

小部件包含标签以及复选框,单选按钮,选择和输入字段。

唯一将这些联系在一起的是它们都是自包含在一个div中,在这个包含div的内部有一个'frmRow'类,另一个div包含一个包含标签的'frmLabel'类。还有第二个div有一个'frmInput'类。我基本上需要确定在'.frmRow'中选择了一个选项,所以改变嵌套'.frmLabel'div的颜色。

我可以使用严格的类名来实现它,但我需要它更通用一些,因此它适用于我必须创建巨大的if / else代码块的所有表单选项。

非常感谢任何想法

如果它有帮助,这是html的片段

<form id="form">

<div class="frmRow">

    <div class="frmLabel">Label</div>

   <div class="frmInput">Radio, Select, Checkbox or Text Input </div>

</div>

</form>

谢谢Tim,

它正在工作(有点),但它正在改变所有元素的标签颜色。我是jQuery的新手,所以我可能不了解parent()的工作原理。我认为.frmInput的父级是.frmRow,但看起来它认为父级的形式包含div。无论如何,我可以指定我正在寻找的父母?这是代码。

$('#homefinderform').click(function() {

    if($('.frmInput input').is(':checked')) { 

            $(this).parent().addClass('frmLabelChecked');

    }

});

1 个答案:

答案 0 :(得分:1)

这有点2 .parent() s,但如果你不能修改HTML本身,那么你必须得到你能得到的东西。这应该可以帮助您了解如何使其发挥作用。

http://jsfiddle.net/4GEXq/