2012-06-01 45 views
0

讓我前言本:我是很新的事物的編碼方面,我來自一個設計背景......但在這裏,我們去...KEYUP和更改功能轉移和刪除文本

我使用keyup並更改jquery將值傳輸到將要打印的顯示圖像(這些值也會插入到數據庫中)。

我的問題是我的輸入的選項包括大小和描述,但我想傳輸與鍵控/更改的大小是。

Cake Type: <select name="Cake" id="cake"> 
    <option value="5 3/8&#34; Cake Pie" >5 3/8" - Cake Pie</option> 
    <option value="5 7/8&#34; Pretzal Pie" >5 7/8" - Pretzal Pie</option> 
    <option value="5 1/2&#34; Wing Ding" >5 1/2" - Wing Ding</option> 
    <option value="5 1/2&#34; Objectonator" >5 1/2" - Objectonator</option> 
    </select> 

目前我使用這個KEYUP和變化的jQuery轉移值:

$("#cake").change(function() { 
    var value = $(this).val(); 
    $("#cake_transfer").text(value); 
}).keyup(); 
$("#cake").keyup(function() { 
    var value = $(this).val(); 
    $("#cake_transfer").text(value); 
}).keyup(); 

所以是有可能去除的描述和剛剛轉會大小(即:5 1/2" ) ?

感謝所有幫助

+0

我會想象,在處理'keyup'事件後調用'keyup()'可能會創建一個永無止境的循環..... – ManseUK

回答

1
$("#cake").on('change keyup', function() { 
    var value = $('option:selected', this).text(); 
    $("#cake_transfer").text(value.split('-')[0]); 
}).keyup(); 

DEMO

+0

這就是 - >答案將在55秒內被接受! – cantaffordretail

+0

@mcflause以上代碼的作品? – thecodeparadox

+0

其實!這只是抓住了前6個字符,所以它不適用於6個字符以上的尺寸 – cantaffordretail

1

嘗試是這樣的:

$("#cake").on('change keyup', function() { 
    var value = $(this).val().split(' '); // split into words 
    var size = value[0] + " " + value[1]; // first 2 words 
    $("#cake_transfer").text(size); 
});​ 

使用.on()即時通訊使您可以合併2個事件(keyupchange)並將值分解成單詞 - 只需獲得2個單詞 - 問題在於它相當固定...如果您可以將大小並用-%說明這將是一個容易得多

Working example here

+0

啊我匆匆接受了上面的答案 - 但我現在意識到它只是抓住第一個六個字符,這是有問題的,因爲有一些字符的字符數以上。 – cantaffordretail

+0

我想使用你的代碼,但它似乎打破了我的其他jquery功能,然後沒有任何工作。 – cantaffordretail

+0

它如何「打破」其他代碼?任何錯誤?上面的代碼替換了你的問題中的2個函數......你使用的是什麼版本的jQuery? – ManseUK