我正在使用 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/