0

我正在为下拉列表使用 rails 表单助手,如下所示:

<%= select_tag :analysis, options_for_select(%w[PENDING PASS FAIL], row3[7]), :disabled=> "true", 
:id => 'build_status#{index}', :style=> 'width:100px', :onchange => 'this.form.submit()'%> 

现在而不是拥有

:disabled=> "true",

我想使用一个红宝石变量,这样

$tmp = "disabled"

并使用此变量禁用下拉列表。因为有时我想让它保持启用状态,有时它会根据 $tmp 变量的值被禁用。

我在语法上有问题。任何人都可以对其进行测试并查看哪种语法可以正常工作吗?

4

1 回答 1

1

使用该:disabled选项时,您需要将其传递给布尔值,而不是字符串。给定任何字符串文字的计算结果为真,两者disabled: "true"都会disabled: "false"禁用标签。要不禁用该元素,您需要使用disabled: false(而不是缺少引号)。也许这就是你问题的根源?

要禁用基于另一个变量的元素,您可以放置​​任何可以为您提供布尔值的操作。例如,要仅在$tmpis时禁用菜单"disabled",您可以使用类似disabled: ($tmp == "disabled").

于 2013-03-22T05:40:03.870 回答