[英]Grails - Set “disabled” attribute name and value in GSP
我試圖這樣做沒有成功:
<g:textField title="${title}" ${disabled} />
我想要應用一個禁用的屬性,僅在$ {disabled}變量為TRUE時。 我不想使用條件,因為在其他視圖中我獲得了大量代碼並使用IF語句,將是一個混亂。
另一件事是應用這樣的屬性:
<g:textField title="${title}" disabled="${disabled}" />
但是當我把disabled屬性放在一起時,沒有變量的內容,它總是禁用該字段。
如果你不喜歡gotomanners的解決方案(這對我來說似乎完全有效)
<g:textField title="${title}" ${(disabled)?"disabled":""} />
你的$ {disabled}變量應該返回“disabled”而不是TRUE才能工作。
我嘗試了這個,看到它的問題總是被禁用,無論價值。 顯然,僅存在disabled關鍵字會禁用該字段,並且分配給該關鍵字的值僅為虛擬值。
無論如何,這是一個修復。
定義你自己的textfield標簽......
def myTextField = { attrs, body -> def title = attrs.remove("title") def isDisabled = attrs.remove("disabled") if ("true".equals(isDisabled)) { out << """<input title="${title}" disabled="${isDisabled}" """ attrs.each { k,v -> out << k << "=\\"" << v << "\\" " } out << "/>" } else { out << """<input title="${title}" """ attrs.each { k,v -> out << k << "=\\"" << v << "\\" " } out << "/>" } }
在你的gsp中,像這樣調用你的textfield標簽
<g:myTextField title="${title}" disabled="${disabled}" />
添加這樣的額外屬性也是有效的
<g:myTextField class="title" name="theName" value="theValue" title="${title}" disabled="${disabled}" />
確保你的$ {disabled}變量這次返回“true”或“false”作為字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.