J'ai une liste déroulante dans mon template django:Passe sélectionnez la valeur d'option dans le format d'URL nommé en utilisant Django et Jquery
<select name="submit_new" id="submit_new">
<option value="Stdo">Studio</option>
<option value="Flm">Film</option>
<option value="Drctr">Director</option>
</select>
<button type="submit_type" id="submit_new_button">Go</button>
Je voudrais saisir la valeur de la sélection et de le transmettre dans l'URL du nom de django modèle
$("#submit_new_button").click(function() {
var NewLink = {% url add_record $("#submit_new").val() %}
window.location.href = NewLink
});
Clairement, comme écrit, cela ne fonctionne pas. Comment puis-je utiliser le modèle nommé {% url add_record VAR%} en combinaison avec la valeur jquery $ ("# submit_new"). Val()?
modifier:
Mon entrée url pour add_record est:
url(r'^add_(?P<modelname>\w+)/$', views.generic_change, name = 'add_record')
J'aime cette idée. Mais je reçois toujours un TemplateSyntaxError: Caught NoReverseMatch pendant le rendu: Reverse pour 'add_record' avec les arguments '(u' - NEW - VALUE-- ',)' et les arguments du mot clé '{}' non trouvés. D'après d'autres recherches, je pense qu'il n'y a pas de solution à cause de la façon dont Django rend les templates. Aimerait être corrigé. . . –
a mis à jour la mise à jour de la question basée sur la réponse. Il y a définitivement une solution. Vous avez juste besoin de résoudre un problème à la fois; d'abord urls.py puis le template; ^) – istruble
J'ai toujours un TemplateSyntaxError, mais quand j'ai supprimé les tirets, cela a fonctionné parfaitement (même sans changer le modèle d'URL). Merci! –