Я пытаюсь использовать 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 не является функцией щелчка. Я не уверен, что с этим делать.
$("input[title$='ShowFields']").click(function()
В основном, если они выбирают Wall Calendars, он должен показывать настенный календарь jsut, но если они делают Wall и письменный стол, он должен переключать их обоих.
Любое руководство было бы фантастическим. Спасибо!
EDIT: я меняю свой ответ на основании вашего комментария ниже
Чтобы сделать то, что вы хотите, я буду использовать созданную мной библиотеку, которая называется 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 checked, then we show the row, if it not then we hide it
$SP().formfields($(this).parent().attr("title")).row().toggle(this.checked)
})