以html格式对某些字段进行分组

时间:2015-08-20 10:28:47

标签: javascript jquery html css

在HTML表单中,我们可以使用类属性对一些输入字段进行分组(例如:TextBox,DropDownList)。

示例:

@Html.TextBox("MailingCity", null, new { @class = "block" })
@Html.DropDownList("MailingStateID", new SelectList(ViewBag.stateList, "value", "text"), new { @class = "block", @id = "ddlMailingStateList" }) 

之后我们可以按类编写所有字段的脚本。

示例:

$('.block').each(function () {

            var default_value = this.value;
            $(this).focus(function () {
                if (this.value == default_value) {
                    this.value = '';
                }
            });
            $(this).blur(function () {
                if (this.value == '') {
                    this.value = default_value;
                }
            });
        });

有没有其他可能的方法在没有 class 的情况下对某个字段进行分组? 实际上,我想在脚本部分编写一个通用的验证函数,它将覆盖一些输入字段。

提前致谢。

3 个答案:

答案 0 :(得分:1)

好吧,最后我用html自定义属性做了。 详细说明:

在HTML:

@Html.TextBox("MiddleName", null, new { @class = "block", @myAtt="valid" }) 

脚本:

 $('[myatt="valid"]').each(function () {
            $(this).focus(function () {
                alert("Working...");
            });
            $(this).blur(function () {
                alert("Seriously?");
            });
        });

这里我使用@myAtt ="有效"。并且它运作良好:))

答案 1 :(得分:0)

您可以按类型选择器对字段进行分组。 例如:

$('input[type=text]').each(function () {})

上面的行将为您提供类型等于text的所有输入字段。您可以应用类似的逻辑来获取所有复选框,选择框等等。

有关jquery选择器的更多示例,请转到JQuery Selector

答案 2 :(得分:0)

在这种情况下,我建议您查看jQuery(":input");

这将为您提供所有字段,无论文本,选择,按钮,文本区域等。 JQuery文档链接link