javascript 使用 for 循环在 css 类的末尾添加数字

标签 javascript jquery sharepoint-2010 forms

我正在使用 SharePoint 2010,并且希望根据条件要求进行表单输入。我想出了如何做到这一点,但我也希望文本上有一些指示器来表明它是必需的。

非必填:字段

必填:字段*

如果我只对一个字段执行此操作,我所拥有的将起作用,但我需要对两个字段执行此操作。

我想要什么:

字段 1*:Val

字段 2*:Val 2

我得到什么:

字段 1*:Val

字段 1*:值 2

Javascript代码:

function Check() {

var value = ($("select[title='Bid']").val());
var asterisk = "*".fontcolor("red");
var maxRequired = $('.more-required').length

if(value == "Yes"){

$('.more-options').show();

    for (i = 0; i <= maxRequired; i++){
        $('.more-required').replaceWith($('.more-required').html() + asterisk);
    }
}else{

$('.more-options').hide();


};  
};

表单代码:

<tr class="more-options">
                    <td width="190px" valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader more-required">
                            <nobr>Assigned To</nobr>
                        </H3>
                    </td>
                    <td width="400px" valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="Edit" FieldName="Assigned_x0020_To0" __designer:bind="{ddwrt:DataBind('u',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Assigned_x0020_To0')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="Assigned_x0020_To0" ControlMode="Edit"/>
                    </td>
                </tr>
                <tr class="more-options">
                    <td width="190px" valign="top" class="ms-formlabel">
                        <H3 class="ms-standardheader more-required">
                            <nobr>Category</nobr>
                        </H3>
                    </td>
                    <td width="400px" valign="top" class="ms-formbody">
                        <SharePoint:FormField runat="server" id="ff13{$Pos}" ControlMode="Edit" FieldName="Category" __designer:bind="{ddwrt:DataBind('u',concat('ff13',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Category')}"/>
                        <SharePoint:FieldDescription runat="server" id="ff13description{$Pos}" FieldName="Category" ControlMode="Edit"/>
                    </td>
                </tr>

使用类:more-required来获取和设置值。

它的作用是选择更需要的类中的 html,然后添加一个星号。 当它替换标题时,它只会使用该类的第一个表单项的标题。我需要它来查找每个表单元素的标题,然后用星号进行设置。

感谢任何帮助。

最佳答案

在您的 .replaceWith 函数中,您正在执行 $('.more-required').html().html 将返回堆栈中第一个元素的 html,因此在您的情况下为“Field 1”。

您可以在 .replaceWith 中使用函数并受益于 this 关键字:

$('.more-required').replaceWith(function(){
    return $(this).html() + asterisk;
});

关于javascript 使用 for 循环在 css 类的末尾添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408080/

相关文章:

javascript - Jquery .on ('input' , function(){...});不使用 IE

javascript - 如何从上一个视频结束的确切时间开始播放视频?

javascript - 联系表 7 : Not routing to new page

javascript - wrapAll 3类元素

Javascript 代码块在返回被调用函数的结果之前完成?我缺少什么?

javascript - 如何在没有冲突的情况下为多个 div 容器归档相同的 jquery 操作

c# - 是否有任何工具可以对 powershell 执行 c# 代码

javascript - 基于下拉选择填充文本框 - JavaScript

sharepoint-2010 - 如何从 webpart 调用外部 Javascript 文件

javascript - 基于多选字段中的扩展列的 REST 查询(Listdata.svc)