簡體   English   中英

自定義選擇選項html屬性

[英]Custom select options html attributes

我有一個“添加新的產品網頁”,我有在數據庫表“jos_stockmovement”,“現場start_week ”,其中包含了一年,一周的數據。

在我的“添加新產品”頁面上,我有一個名為“開始周”的字段下拉列表,其中包含年份和星期,例如“ 2012/36”。

我要這樣做,以便可以查看過去的幾周,但只能選擇當前的一周。

這是我的代碼:

<td colspan="99">
  <%= fld.select :start_week, options_for_select(
    StockMovement.order("year DESC, week DESC").map { | val |
      [ "#{ val.year }/#{ val.week }", val.id ]
      },
      :selected => @product.start_week
    ),
    :class => "ddl_SW"
  %>
</td>

您想要做的是將禁用屬性添加到過去一周的選項,例如

<select name="post[stock_movement]">
  <option value="1">Present</option>
  <option value="2" disabled="disabled">Past</option>
  <option value="3" disabled="disabled">Past</option>
</select>

您可以通過嘗試使用options_for_select在Rails3中做到這一點(我認為您不能在Rails2中做到這一點)。

stock_movement.rb

# not sure about the scope, maybe need to put in a lambda ?
scope :option_tags, order("year DESC, week DESC").map(&:option_tag)

def before_now?
  # your test to know if the thing is before today or not
end

def option_tag
  ["#{ stock_movement.year }/#{ stock_movement.week }",
   val.id,
   before_now? ? {:disabled => :disabled} : {}]
end

your_view.rb

<td colspan="99">
  <%= fld.select :start_week,
                 options_for_select(StockMovement.option_tags,
                                    :selected => @product.start_week),
                 :class => "ddl_SW" -%>
</td>

那個怎么樣? 我無法測試,但應該可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM