如何设置默认设置

时间:2015-12-11 11:40:17

标签: javascript html css

我知道这是一个非常愚蠢的问题但是我坚持这个问题我在jsp和表单中创建了一个表单我使用下拉列表提供了更改表格标签上的CSS的选项,如..."左对齐,右对齐,无"开始两个选项正常工作"无"选项功能是当我选择这个选项,所以删除两个选项应用的CSS,并显示此表单的默认设置............请建议我如何做... ............我在这里展示我的代码

JavaScript代码

function placement() {

    var dropVal = $('#styleField').val();
    if (dropVal == "la") {
        $("._check").each(function(index) {
            $('label').css("float", "left");
        });
    }
    if (dropVal == "ra") {
        $("._check").each(function(index) {
            $('label').css("float", "right");
        });
    }
    if (dropVal == "de") {
        //      $("._check").each(function(index) {
        //                              $('._check').find('checkbox').css("float" , "left")
        //  $("float").remove();
    });
}
}

这是我的代码,_check是一个应用于复选框

的类

Html代码

<select id="styleField" name="styleOfField" class="form-control select2me" data-placeholder="Placement Of labels" onclick="placement();">
 <option> - </option>
 <option value="la"> Left Aligned </option>
 <option value="ra"> Right Aligned </option>
 <option value="de"> Default  </option>
</select>

所以请帮助我...提前致谢

1 个答案:

答案 0 :(得分:0)

要重置浮动,您需要设置float: none

$('label').css('float','none');

但您的代码还有其他问题。你没有明显的理由迭代每个_check$('label')将定位所有标签,无论是否存在任何._check元素。

您是否在label元素中寻找._check?在这种情况下,您可以使用后代选择器选择它们,而不需要迭代结果,.css适用于整个集合:

$('._check label').css('float','none');

您似乎有两种默认行为选项。一个具有值"de",一个根本没有值。后者与placement函数中的任何条件都不匹配。

此外,您向我们展示的代码具有无与伦比的括号,但我认为这可能只是一个粘贴问题。

您也可以使用classess执行此操作。这样你就不必手动设置float: none,但是当你不需要时你可以省略设置浮动。

<强> CSS

.la { float: left; }
.ra { float: right; }

<强>的JavaScript

function placement() {
   $('._check label')
       .removeClass('la ra')
       .addClass($('#styleField').val());
}

关于您注释掉的尝试的一些注意事项:

  • $('._check').find('checkbox')会查找<checkbox/>元素的所有class="check"个子元素。如果您要搜索<input type="checkbox" />,可以使用:checkbox选择器。

  • $('float').remove()会查找文档中的所有<float/>元素并将其删除。

更新处理您的评论

现在您已经明确表示您希望所有标签都带有_check类,但上面的代码并没有这样做。它选择具有检查类的元素的后代的所有标签。 您的代码选择所有标签,无论它们是否有检查类,并且由于您的迭代而反复执行。

如果您确实希望文档中的所有标签都有一个名为_check的类,则代码为:

 $('label._check').css('float','none');