2010-04-19 92 views
1

我有一個選擇框,其中給出了產品的描述以及價格。根據用戶選擇的內容,我想從選擇的選項中自動獲取該美元金額並將其分配到價格輸入字段。我的HTML:jquery parseFloat將val分配給字段

<tr> 
    <td> 
     <select class="selector"> 
      <option value="Item One $500">Item One $500</option> 
      <option value="Item Two $400">Item Two $400</option> 
     </select> 
    </td> 
    <td> 
     <input type="text" class="price"></input> 
    </td> 
</tr> 

因此,根據選擇的內容,我希望將500或400分配給.class輸入。我試過,但我不能肯定我要去哪裏錯了:

$('.selector').blur(function(){ 
    var selectVal = ('.selector > option.val()'); 
    var parsedPrice = parseFloat(selectVal.val()); 
    $('.price').val(parsedPrice); 
}); 

回答

4

首先刪除一切從value屬性不是值的一部分。

<tr> 
    <td> 
     <select class="selector"> 
      <option value="500">Item One $500</option> 
      <option value="400">Item Two $400</option> 
     </select> 
    </td> 
    <td> 
     <input type="text" class="price"></input> 
    </td> 
</tr> 

第二次改變你的jQuery到這個。

$('.selector').blur(function(){ 
    var parsedPrice = parseFloat($(this).val()); 
    $('.price').val(parsedPrice); 
}); 
+0

由於某些原因,模糊功能未按預期工作。我希望在進行選擇後,價格欄中會自動顯示價值,但實際上,我必須點擊價格字段,然後再次點擊選擇,然後再次點擊價格字段然後值顯示出來。 – user306472 2010-04-19 23:31:40

+1

@ user306472 - 這實際上是它應該工作的方式。改用'change'事件。 – ChaosPandion 2010-04-19 23:51:30

+0

user306472你應該接受很好的答案 – 2012-01-19 05:25:46