2016-02-01 138 views
0

我想從下拉式選項時,但它提供了以下錯誤,甚至我可以手動選擇:水豚給「試圖選擇禁用選項:-1」選擇一個選項

試圖選擇禁用選項:-1

irb#1(main):078:0> select "S", :match => :first, :from => "level2" 
Attempt to select disabled option: -1 
=> nil 
irb#1(main):079:0> select "M", :match => :first, :from => "level2" 
=> nil 

此錯誤是對於給定的每一個選項[1]和選項[0]是下拉的標籤,對於這種情況下的「S」不可選但「M」和其他人。

<div id="sizeDiv"> 
    <select class="form-control tooltip_sizes" id="level2" level="2" name="size" data-msg-required="Beden seçimi yapınız" data-rule-required="true"> 
     <option value="-1" level="2" selected="selected" disabled="disabled">Beden Seçenekleri</option> 
     <option class="s" level="2" value="31884" available="1">S</option> 
     <option class="m" level="2" value="31894" available="1">M</option> 
     <option class="l" level="2" value="31893" available="1">L</option> 
     <option class="xl" level="2" value="31945" available="1">XL</option> 
    </select> 
</div> 

我的問題是爲什麼我不能選擇選項[1]以及如何選擇它?

回答

1

由於您使用的是:match =>:first,並且默認情況下,substring匹配是可接受的,您的選擇「S」匹配「Seçenekleri」中的子字符串,試圖選擇禁用的select中的第一個選項,返回一個錯誤。你有幾個選項來獲得你想要的 - 從你的調用中刪除:match =>:first選項(以及爲什麼你想在這個find中匹配......:first)?然後它會回到默認值:聰明的,它首先嚐試一個完全匹配,如果沒有人會做一個子串匹配。否則,你可以添加確切的:真正的選項,這將限制只發現精確匹配

+0

哦,我明白了。非常感謝。 –

相關問題