Я создал каскадную раскрывающуюся форму, используя http://spservices.codeplex.com, но хочу добавить фильтр в третий каскадный раскрывающийся список.Таким образом, в SPServices есть функция CAMLQuery, в которую я могу добавить этот фильтр, но я хочу, чтобы фильтр был указан со значением из верхнего выпадающего списка в форме.
Один пример, приведенный на странице:
CAMLQuery: "<Eq><FieldRef Name='Status'/><Value Type='Text'>Active</Value></Eq>"
Я хочу, чтобы этот столбец Status получал свое значение из выбора, выбранного в полях формы.Возможно ли это и как мне это написать?
Редактировать: Я пытаюсь составить список активов с каскадным выбором, чтобы найти правильный актив после выбора единицы и отдела.Пример кода после попытки ответа ниже и ничего не появляется в окне выбора «Актив».Существует два списка, один из которых содержит подразделения и отделы, а другой содержит активы с ключом отдела и подразделения для фильтрации.Если я заменю «динамические» запросы статическими, такими как:
CAMLQuery: "<Eq><FieldRef Name='Unit'/><Value Type='Text'>Unit 1</Value></Eq>"
, то ресурсы будут отфильтрованы для этого блока.Текущий код:
<script language="javascript" type="text/javascript" src="../../Hidden/jquery-1.5.2.min.js"></script>
<script language="javascript" type="text/javascript" src="../../Hidden/jquery.SPServices-0.6.0.min.js"></script>
<script language="javascript" type="text/javascript">
var sCamlQuery = "";
$(document).ready(function() {
$().SPServices.SPCascadeDropdowns({
relationshipList: "Departments",
relationshipListParentColumn: "Unit",
relationshipListChildColumn: "Title",
parentColumn: "Unit",
childColumn: "Department",
completefunc: function() {
sCamlQuery = "<Eq><FieldRef Name='Unit'/><Value Type='Text'>" + $("select[title='Unit']").attr("spcascadedropdown_selected_") + "</Value></Eq>";
}
});
$().SPServices.SPCascadeDropdowns({
relationshipList: "Asset Database",
relationshipListParentColumn: "Department",
relationshipListChildColumn: "Title",
parentColumn: "Department",
childColumn: "Asset",
CAMLQuery: sCamlQuery
});
});
HTML:
<tr>
<td width="190px" valign="top" class="ms-formlabel">
<H3 class="ms-standardheader"><nobr>Unit</nobr></H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
<span dir="none">
<select name="ctl00$PlaceHolderMain$g_c482307d_1a31_4129_8a0a_376d70562746$ff3_1$ctl00$Lookup" id="ctl00_PlaceHolderMain_g_c482307d_1a31_4129_8a0a_376d70562746_ff3_1_ctl00_Lookup" title="Unit">
<option selected="selected" value="0">(None)</option>
<option value="1">Unit 1</option>
<option value="2">Unit 2</option>
</select>
</span>¨
</td>
</tr>
<tr>
<td width="190px" valign="top" class="ms-formlabel">
<H3 class="ms-standardheader"><nobr>Department</nobr></H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
<span dir="none">
<select name="ctl00$PlaceHolderMain$g_c482307d_1a31_4129_8a0a_376d70562746$ff4_1$ctl00$Lookup" id="ctl00_PlaceHolderMain_g_c482307d_1a31_4129_8a0a_376d70562746_ff4_1_ctl00_Lookup" title="Department">
<option selected="selected" value="0">(None)</option>
<option value="5">Administration</option>
<option value="4">IT</option>
<option value="1">Kitchen</option>
<option value="2">Production</option>
<option value="7">Production</option>
<option value="6">Sales</option>
<option value="3">Warehouse</option>
</select>
</span>
</td>
</tr>
<tr>
<td width="190px" valign="top" class="ms-formlabel">
<H3 class="ms-standardheader"><nobr>Asset</nobr></H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
<span dir="none">
<select name="ctl00$PlaceHolderMain$g_c482307d_1a31_4129_8a0a_376d70562746$ff5_1$ctl00$Lookup" id="ctl00_PlaceHolderMain_g_c482307d_1a31_4129_8a0a_376d70562746_ff5_1_ctl00_Lookup" title="Asset">
<option selected="selected" value="0">(None)</option>
<option value="3">Computer</option>
<option value="2">Copy machine</option>
<option value="1">Dishwasher</option>
<option value="5">Dishwasher</option>
<option value="4">Oven</option>
</select>
</span>
</td>
</tr>
Функция проверки:
<script language="javascript" type="text/javascript" src="../../Hidden/jquery-1.5.2.min.js"></script>
<script language="javascript" type="text/javascript" src="../../Hidden/jquery.SPServices-0.6.0.min.js"></script>
<script language="javascript" type="text/javascript">
var sCamlQuery = "";
$(document).ready(function() {
$().SPServices.SPCascadeDropdowns({
relationshipList: "Departments",
relationshipListParentColumn: "Unit",
relationshipListChildColumn: "Title",
parentColumn: "Unit",
childColumn: "Department",
completefunc: function() {
sCamlQuery = window.alert("completefunc");//"<Eq><FieldRef Name='Unit'/><Value Type='Text'>"+ $("select[title='Unit'] option:selected").text() +"</Value></Eq>";
}
});
$().SPServices.SPCascadeDropdowns({
relationshipList: "Asset Database",
relationshipListParentColumn: "Department",
relationshipListChildColumn: "Title",
parentColumn: "Department",
childColumn: "Asset",
CAMLQuery: sCamlQuery
});
});
</script>
Список отделов:
Название Единица
Единица ИТ1
Единица продаж1
Единица ИТ2
Единица продаж2
База данных активов:
Заголовок Отдел * Единица *
Актив1 ИТ-единица1
Asset2 IT Unit2
Дэвид