Hallo Ich versuche, Geschäfte mit zwei Dropdown-Combobox aufzulisten. Wenn Sie nicht Land oder Stadt auswählen, listen Sie alle Geschäfte auf. Andere Weg-Liste nach Stadt Land oder beide von ihnen. Übrigens habe ich keinen Controller erstellt, den ich mit generate-all generiere. hier ist meine Ansicht;g: Wählen Sie mit zwei Combobox in Grails
<g:form action="index" method="POST">
<div class="fieldcontain">
<g:select name="ddlCountry" noSelection="[null:message(code:'default.select.label',default:'Seçiniz...')]"
from="['UK', 'NL', 'DE']"
value="${params.ddlCountry}"/>
<g:select name="ddlCity"
from="['AMSTERDAM', 'Erfurt', 'Manchester','London']"
value="${params.ddlCity}"/>
<input class="btn btn-danger" type="submit" value="Listele" />
<g:each in="${shopList}" status="i" var="shopInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
<td>
<g:link controller="shop" action="show" params="[id:shopInstance.id]">
${fieldValue(bean: shopInstance, field: "shopName")}
</g:link>
</td>
<td>${fieldValue(bean: shopInstance, field: "shopAdress1")}</td>
<td>${fieldValue(bean: shopInstance, field: "shopPostcode")}</td>
<td>${fieldValue(bean: shopInstance, field: "shopCity")}</td>
<td>${fieldValue(bean: shopInstance, field: "shopCountry")}</td>
<td>${fieldValue(bean: shopInstance, field: "shopDateEdited")}</td>
</tr>
</g:each>
</div>
</g:form>
und hier ist eine Shop-Controller Index
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
if(params.ddlCountry || params.ddlCity) {
def shops = Shop.withCriteria {
if (params.ddlCountry) {
like('shopCountry', '%${params.ddlCountry}%')
}
if (params.ddlCity) {
like('shopCity', '%${params.ddlCity}%')
}
}
[shopList:shops]
}
else{
respond Shop.list(params), model:[shopCount: Shop.count()]
}
}
Es alle Shops jedes Mal aufgeführt wird. Wenn ich auf Schaltfläche Seite ist erfrischend, aber nichts passiert
Ich löste mein Problem schließlich. Ich schreibe hier vielleicht jemandem geholfen. noSelection = "['': message (code: 'default.select.label', standard: 'Seçiniz ...')]" Ich habe null gelöscht und durch '' ersetzt. Und auf der Controllerseite lösche ich zuerst if und else blog. Und der Code funktioniert sehr gut. –