0

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

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

唯一将这些联系在一起的是它们都包含在一个 div 中,该 div 在这个包含的 div 中有一个“frmRow”类,另一个 div 有一个包含标签的“frmLabel”类。还有一个带有“frmInput”类的第二个 div。我基本上需要确定已在此“.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>

谢谢蒂姆,

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

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

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

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

    }

});
4

1 回答 1

1

这对 2 来说有点草率.parent(),但如果你不能修改 HTML 本身,那么你必须采取你能得到的东西。这应该让您在如何完成这项工作方面领先一步。

http://jsfiddle.net/4GEXq/

于 2013-05-31T20:13:37.670 回答