2016-06-24 5 views
0

Ich bin ziemlich neu hier (in Bezug auf Fragen) und habe ein Problem festgestellt, wo ich keine Lösung im Internet finden kann. Das funktioniert gut, und ich kann auch zeigen alle div <div class="zone" id='{{site.City}}'> , indem Sie auf:Wie kann ich regex zum Testen der ID (in HTML) in Javascript onclick event verwenden?

ich eine Django-Vorlage bekommen haben (die Sache mit Django nicht), wo ich

<select id="select1"> 
    <option value="0">-- {% trans "Choisir" %} --</option> 
    {% for site in sites %} 
    <option value="{{ site.City }}" onclick='$("#{{site.City}}").show();'>{{ site.City }}</option> 
    {% endfor %} 
</select> 

haben, um die div entsprechend zu zeigen auf den Button: <button class='small' onclick='$(".zone").show();'>{% trans "Show all" %}</button>

Was ich tun möchte, ist wie unten einige andere div in die site.City div mit:

{% for site in sites %} 
    <div class="zone" id='{{site.City}}'> 
     <h4>{% trans "Site" %} : {{ site.City }}</h4> 
     {% for immo in immos %} 
      {% if immo.idSite.City == site.City %} 
       <div class='zone' id='{{site.City}}{{immo.CodeImmo}}'> 

kann ich zeigen 1 div id='{{site.City}}{{immo.CodeImmo}} mit der Onclick Methode mit Javascript, aber ich kann nicht einen Weg finden, in dem div id='{{site.City}}' entsprechen, div id='{{site.City}}{{immo.CodeImmo}} zu zeigen, ohne alle div zeigen id='{{site.City}}' ich einig regex javascript Lösung seached habe, aber es funktioniert nicht .

onclick='$("#/^{{site.City}}/").show();' 

Es ist wie ich nur auf einen Teil der ID testen und es in Javascript verwenden möchte.
Gibt es eine Möglichkeit, dies zu tun? oder was mache ich falsch?
Die Frage ist, wie kann ich Regex zum Testen der ID (in HTML) in Javascript onclick Ereignis verwenden?

Antwort

0

starten:

In Vorlage:

{% for site in sites %} 
    <div class="zone" id='{{site.City}}'> 
     <h4>{% trans "Site" %} : {{ site.City }}</h4> 
     {% for immo in immos %} 
      {% if immo.idSite.City == site.City %} 
       <div class='zone' id='{{site.City}}{{immo.CodeImmo}}' class='city_{{site.City}}'> 

klicken Zuhörer:

onclick='$(".city_{{site.City}}").show();' 

Jquery selectors (meist) versucht als CSS selectors gleich zu sein. CSS verwendet Klassen, wenn mehrere Elemente ausgewählt werden müssen. Vergleichen Sie mit IDs: jeder Knoten kann viele Klassen haben und es ist normal, dieselbe Klasse in verschiedenen Knoten zu haben.

+0

Es ist eine gute Idee. Danke, es zu testen – Gaetan

+0

Aber so die erste Klasse = 'Zone' sollte natürlich entfernt werden – Gaetan

+0

Ich habe Ihre Antwort angepasst, aber es funktioniert dann danke. – Gaetan

Verwandte Themen