2016-04-11 31 views
5

Grails g:select taglib seçeneklerinin her birine ekstra veri yüklemek istiyorum.Grails g: HTML 5 veri niteliklerini ekle seçimini yapın

<select id="select"> 
    <option value="1" data-foo="dogs">this</option> 
    <option value="2" data-foo="cats">that</option> 
    <option value="3" data-foo="gerbils">other</option> 
</select> 

Ben Peki benzer bir çıkış elde etmek HTML 5. veri özellikleri kullanarak taglib ekstra veri eklemek için bir yol bulmak mümkün değilim: Gerekli çıkış aşağıdaki gibidir?

+1

Neden basit TagLib yazmayın aşağıdaki kullanarak benzer bir sonuç elde edebilirsiniz? – Armaiti

+1

Yerleşik TagLib bu özelliği desteklemiyor. Eğer buna ihtiyacınız varsa o zaman kendi başınızı uygulamalısınız. –

+0

Evet Bunu sadece yaptım, yoksa var olup olmadığını ya da herhangi bir kısayol olup olmadığını kontrol etmek için buraya geldim. Cevabın için teşekkürler. – Chetan

cevap

0

Yukarıdaki yorumlardan da bahsedildiği gibi, bu şu anda mümkün değildir. Bu hedefe ulaşmak için kendi etiket kitaplığınızı yazmanız gerekiyor.

3

Sen seçme seçeneklerin (Grails denilen optionKey seçme Taglib) değerini oluşturmak için bir kapak yardımıyla (MIS-) bunu yapabilirsiniz: Bu data-author özelliği olan seçenekler verecek

<g:select from="${books}" 
     optionKey="${{ book -> "${book.id}\" data-author=\"${book.author.name}"}}" 
     optionValue="title" 
     name="selectedBook"/> 

:

<option value="1" data-author="Johann Wolfgang von Goethe">Faust</option> 

Bu, en azından Grails 2.4.4 ve Grails 3.1.5'te çalışır.

+0

En azından Grails 3.2.2'den göründüğü gibi görünüyor (özellik kullanıma sunulduğunda bakmak için geri gitmedim) g: select etiketi artık bir dataAttrs özniteliği içerir. select etiketindeki seçenek değerlerine data- * ekleyin. Referans burada: http://docs.grails.org/latest/ref/Tags/select.html – Aquatoad

0

Sen bunu başarmak için

<select id="select"> 
    <g:each in="${books}" var="book"> 
    <option value="${book.id}" data-foo="${book.slug}">${book.name}</option> 
    </g:each> 
</select>