HSLE#53460 Correcte afhandeling gepinde advanced (multi)suggest velden
svn path=/Website/trunk/; revision=38630
This commit is contained in:
@@ -73,10 +73,41 @@ var sameurl = false;
|
||||
// Deze functie uitvoeren als op de zoek button wordt geklikt
|
||||
function doSubmitWithKenmerken()
|
||||
{
|
||||
$('div#dkenmmodal2').formhtml(kenmerk_html);
|
||||
// Ingevulde waarden van de kenmerken bewaren.
|
||||
$("div#dkenmmodal2").formhtml(kenmerk_html);
|
||||
var $dk2 = $("div#dkenmmodal2"); // shortcut
|
||||
|
||||
var aantal_kenm = $("div#dkenmmodal2 #k_all").val();
|
||||
|
||||
// Voeg handmatig de nog niet geinitialiseerde multiSuggests toe
|
||||
for (var n = 1; n <= aantal_kenm; n++)
|
||||
{
|
||||
if ($("#k" + n + "t").val() == "S") // if (isSuggest)
|
||||
{
|
||||
if ($("#k" + n + "val").val() && $("#k" + n + "val").val().split(",").length > 1) // if (holds multiple values)
|
||||
{
|
||||
if ($("#execDonek"+n).val() == 0) // if (has not been initialized)
|
||||
{
|
||||
var storedVal = $("#k" + n + "val").val().split(",");
|
||||
$("#k" + n + "val").remove();
|
||||
for (var i = 0; i < storedVal.length; i++)
|
||||
{
|
||||
$("<input>").attr({
|
||||
type: "hidden",
|
||||
id: "k"+n+"val",
|
||||
name: "k"+n+"val",
|
||||
value: storedVal[i]
|
||||
}).appendTo($dk2);
|
||||
}
|
||||
}
|
||||
else if ($("#execDonek"+n).val() == 1) // Remove the input.val field because we have a select#knval.field
|
||||
$("input#k" + n + "val").remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Strip alle velden er uit die niets doen. Voorkomt extreem lange querystring
|
||||
var $dk2 = $('div#dkenmmodal2'); // shortcut
|
||||
var $dk2 = $("div#dkenmmodal2"); // shortcut
|
||||
/* Global kenmerk_waarden */
|
||||
for (var m = 0; m < kenmerk_waarden.length; m++)
|
||||
{
|
||||
@@ -177,6 +208,7 @@ function setAdvFlexValues(flexKenmerken)
|
||||
|
||||
setAdvFlexValue(this_k);
|
||||
}
|
||||
advfilters = null; // used -> truncate
|
||||
}
|
||||
|
||||
function setAdvFlexValue(k)
|
||||
@@ -216,6 +248,7 @@ function showKenmerkModal(purl, ptitle, init)
|
||||
kenmerkArray[kenmerkArray.length] = new kenmerkValues(n);
|
||||
}
|
||||
kenmerk_waarden = kenmerkArray;
|
||||
|
||||
$('div#dkenmmodal').dialog("close");
|
||||
// Als dialog scherm gesloten is kunnen we nog bij de kenmerken.
|
||||
// Alleen de waarden worden niet meegenomen met de submit, omdat dialog buiten het formulier (<form>) wordt gehouden.
|
||||
@@ -293,11 +326,12 @@ function showKenmerkModal(purl, ptitle, init)
|
||||
$("#dkenmmodal").load(purl,
|
||||
function()
|
||||
{
|
||||
$('div#dkenmmodal').dialog(params).dialog('open');
|
||||
$("div#dkenmmodal").dialog(params).dialog("open");
|
||||
if (init)
|
||||
{
|
||||
setAdvFlexValues(init);
|
||||
_doOk();
|
||||
setAdvFlexValues(init);
|
||||
|
||||
_doOk();
|
||||
}
|
||||
else if (sameurl)
|
||||
{ // Zet de geselecteerde waarden
|
||||
|
||||
@@ -100,6 +100,15 @@ function Suggest(inParams)
|
||||
return params.keyField;
|
||||
}
|
||||
|
||||
function multiToggle($fld, adv)
|
||||
{
|
||||
$fld.addClass(adv ? "advMultiSuggest" : "multiSuggest");
|
||||
var $lbl = $("<span fcltfor='" + $fld.attr("id") + "' class='multi_suggest_toggle' />").on("click", function() { toggleSelect(this); }).html("»");
|
||||
var $div = $("<div />").addClass(adv ? "advmultitoggle" : "multitoggle");
|
||||
$fld.add($fld.next(".suggestklikker")).wrapAll($div);
|
||||
$fld.before($lbl);
|
||||
}
|
||||
|
||||
// TODO: Controleren of parent wel in hetzelfde domein zit?
|
||||
if (!params.embedded && self != top && window.name != "fclttop" && document.body.id!="searchbody")
|
||||
{
|
||||
@@ -145,15 +154,11 @@ function Suggest(inParams)
|
||||
$(params.queryField).after($klikker)
|
||||
.addClass("hasIcon");
|
||||
|
||||
if (params.multitoggle)
|
||||
{
|
||||
$(params.queryField).addClass(params.multitoggle == "advanced" ? "advMultiSuggest" : "multiSuggest");
|
||||
var $lbl = $("<span fcltfor='" + $(params.queryField).attr("id") + "' class='multi_suggest_toggle' />").on("click", function() { toggleSelect(this); }).html("»");
|
||||
var $div = $("<div />").addClass(params.multitoggle == "advanced" ? "advmultitoggle" : "multitoggle"); // deze div schuiven we 15px naar links
|
||||
$(params.queryField).add($(params.queryField).next(".suggestklikker")).wrapAll($div);
|
||||
$(params.queryField).before($lbl);
|
||||
}
|
||||
params.queryField.setAttribute("sgKey", params.initKey);
|
||||
|
||||
if (params.multitoggle)
|
||||
multiToggle($(params.queryField), params.multitoggle == "advanced");
|
||||
|
||||
// IE6 en IE7 hebben functie hasAttribute niet
|
||||
if (!params.queryField.hasAttribute)
|
||||
params.queryField.hasAttribute = function (attr) { return !!params.queryField.getAttribute(attr) };
|
||||
@@ -412,9 +417,12 @@ function Suggest(inParams)
|
||||
.attr("title", data.result[i].desc)
|
||||
.text(data.result[i].txt);
|
||||
|
||||
if (sgKey == data.result[i].key || $.inArray(String(data.result[i].key), storedVars) > -1)
|
||||
if (sgKey == data.result[i].key ||
|
||||
(storedVars.length && storedVars.length > 1 ? $.inArray(String(data.result[i].key), storedVars) > -1 // ["123", "1234", "321"]
|
||||
: data.result[i].txt == storedVars[0])) // ["123 - entry eenendertig"]
|
||||
{
|
||||
$option.attr("selected", true);
|
||||
|
||||
}
|
||||
$sel.append($option);
|
||||
}
|
||||
$suggestField.replaceWith($sel);
|
||||
|
||||
Reference in New Issue
Block a user