J'utilise JQuery basé Cascade plugin probablement cela fonctionne, mais je l'ai trouvé beaucoup de problèmes avec elleProblème de liste déroulante JQuery Cascade?
Peut-être que quelqu'un déjà confronté à ce plugin et pourrait peut-être aider.
Alors, j'utiliser ce plug-in pour la filtration de l'emplacement
location http://clip2net.com/clip/m12007/1246819525-clip-2kb.png location http://clip2net.com/clip/m12007/1246819608-clip-3kb.png
Here Comes mon code CS:
public JsonResult getChildren(string val)
{
if (val.IsNotNull())
{
int lId = val.ToInt();
Cookie.Location = val.ToInt();
var forJSON = from h in Location.SubLocationsLoaded(val.ToInt())
select new { When = val, Id = h.Id, Name = h.Name, LocationName = h.LocationType.Name };
return this.Json(forJSON.ToArray());
}
else
return null;
}
Here Comes mon code JS:
<script type="text/javascript">
function commonMatch(selectedValue) {
$("#selectedLocation").val(selectedValue);
return this.When == selectedValue;
};
function commonTemplate(item) {
return "<option value='" + item.Id + "'>" + item.Name + "</option>";
};
$(document).ready(function() {
$("#chained_child").cascade("#Countries", {
ajax: {
url: '/locations/getChildren'
},
template: commonTemplate,
match: commonMatch
}).bind("loaded.cascade", function(e, target) {
$(this).prepend("<option value='empty' selected='true'>------[%Select] Län------</option>");
$(this).find("option:first")[0].selected = true;
});
$("#chained_sub_child").cascade("#chained_child", {
ajax: {
url: '/locations/getChildren'
},
template: commonTemplate,
match: commonMatch
}).bind("loaded.cascade", function(e, target) {
$(this).prepend("<option value='empty' selected='true'>------[%Select] Kommun------</option>");
$(this).find("option:first")[0].selected = true;
});
$("#chained_sub_sub_child").cascade("#chained_sub_child", {
ajax: {
url: '/locations/getChildren'
},
template: commonTemplate,
match: commonMatch
}).bind("loaded.cascade", function(e, target) {
$(this).prepend("<option value='empty' selected='true'>------[%Select] Stad------</option>");
$(this).find("option:first")[0].selected = true;
});
});
j'ai ajouté une condition à jquery.cascade.ext.js
if (opt.getParentValue(parent) != "empty")
$.ajax(_ajax);
Pour éviter la demande Ajax sans valeur sélectionnée, mais je face à problème, lorsque je réinitialise la sélection dans la première boîte boîte 3D et ne le fait pas ci-dessous rafraichissement WTF? http://clip2net.com/clip/m12007/1246822534-clip-2kb.png
Et deuxième question: Je voudrais savoir où est le meilleur endroit pour injecter ma propre fonction qui fera quelque chose, avec une exigence - je dois savoir que toutes les boîtes ont terminé le travail.
Si quelqu'un travaillait à l'intérieur laissez-moi savoir peut-être que nous pourrions ensemble trouver une solution. Merci dans le conseil ...
Merci beaucoup – omoto
SolutionYogi, J'essaie de récupérer des données dynamiquement via php/mysql dans la fonction getValues en utilisant $ .ajax. Je retourne plusieurs chaînes output.push mais je n'arrive pas à les pousser dans le tableau de sortie. Des idées? Merci, - Danois – teamdane