根据jQuery中的复选框值显示部分(SharePoint 2010)

时间:2013-09-24 16:28:35

标签: javascript jquery sharepoint

我正在尝试使用jQuery来显示用户是否在sharepoint表单中选择某个复选框。我已经成功地使用一个按钮和一个带有一个值的简单复选框来显示来自此博客文章http://akanoongo.blogspot.com/2008/04/how-to-hide-fields-in-sharepoint-list.html的所有内容,但是如果他们选择了多个值,那就很难了。

<script type="text/javascript" src="/SiteAssets/Libraries/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(){

 $("nobr:contains('Desk Calendars')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Calendar Refills')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Spiral Bound')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Wall Calendars')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Misc. Calendars')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Franklin Covey')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Comments')").parent('h3').parent('td').parent('tr').hide();
 $("nobr:contains('Retention Policy')").parent('h3').parent('td').parent('tr').hide();

});

</script>

看起来值必须是if语句,包含VALUE而不是click函数。我不知道该怎么办。

$("input[title$='ShowFields']").click(function()

基本上如果他们选择挂历,它应该显示jsut挂历,但如果他们做墙和桌子,它应该切换它们。

任何指导都会很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

编辑:我根据您在下面的评论更改我的答案

要做你想做的事我会使用我创建的名为SharepointPlus的库(请在你的页面中加载jQuery和SharepointPlus)。然后JavaScript代码就像:

// hide all the rows by default
$SP().formfields("Desk Calendars,Calendar Refills,Spiral Bound,Wall Calendars,Misc. Calendars,Franklin Covey,Comments,Retention Policy").row().hide();
// add a trigger for when you click a checkbox
$SP().formfields("Calendar Type").elem().on('click', function(event) {
  // the value of the checkbox is found with the "title" attribute from the parent
  // if it's checked, then we show the row, if it's not then we hide it
  $SP().formfields($(this).parent().attr("title")).row().toggle(this.checked)
})