2012-01-27 31 views
0

我有以下的2場在我的大形式...jQuery的內容複製到其他文本框

<p><input type="text" name="name" id="proname" value="" /></p> 
<p><input type="text" name="var" id="provarname" value="" /></p> 

我想#provarname來獲取值從#proname自動活,例如,如果我們輸入設計觀看#provarname,同時#provarname應該得到超值的設計手錶(小寫字母和空格替換爲 - ),我已經寫了下面這不相同的方式工作jQuery代碼...

$(document).ready(function() { 
    $('#proname').live('change',function() { 
     var pronameval = $(this).val(); 
     $('#provarname').val(pronameval.replace(' ', '-')); 
    }); 
}); 

回答

1

嘗試將活動從change更改爲​​。

+0

很棒的工作,謝謝,我甚至發佈完整的代碼,所以其他人可以幫助。 – seoppc 2012-01-27 20:28:13

+0

我們應該使用keyup還是keydown,在這種情況下最好? – seoppc 2012-01-27 20:35:55

+0

我把它從'keyup'編輯到'keydown',因爲理論上如果有人按下一個鍵,如果事件是'keyup',它只會在釋放後才發送該鍵。 'keydown'應該每次發送它。 – 2012-01-27 20:38:52

0

按照建議由T.stone,最終代碼會...

$(document).ready(function() { 
    $('#proname').live('keyup',function() { 
     var pronameval = $(this).val(); 
     $('#provarname').val(pronameval.replace(' ', '-').toLowerCase()); 
    }); 
}); 

這是工作的罰款。

0
  1. 使用regEx替換使用g所以它確實代替所有。
  2. 使用keyup代替change,change將觸發onblur的文本框。

如下更改功能,

DEMO這裏

$('#proname').live('keyup',function() { 
    var pronameval = $(this).val(); 
    $('#provarname').val(pronameval.replace(/ /g, '-').toLowerCase()); 
}); 
0

,如果你想這一切在小寫

var pronameval = $(this).val().toLowerCase(); 

添加toLowerCase並使用KEYUP作爲已經說過

相關問題