Problem
想把select 到的item value 加到text field裡
<%= text_field_tag :email %>
<%= select :contact, :user, @me.contacts.inject([]){|a, user| a << [user.nickname, user.nickname] }, :id => 'select_user', :prompt => '通訊錄聯絡人' %>
Solution
http://jquery.com/api/
http://visualjquery.com/1.1.2.html
<script type="text/javascript">
$(document).ready(function(){
$('#contact_user').change(function(){
str = $('#contact_user option:selected').val();
contact_str = $('#email').val();
$('#email').val(contact_str+','+str);
});
</script>
$('#contact_user option:selected') 取到的是jQuery object 他是沒有value 的
要用val() 去取
$('#contact_user option:selected').get(0) 取到的才是該 element 才有 value attribute
所以也可以寫成$('#contact_user option:selected').get(0).value = "ooxx" 當然比較麻煩
append 是加在element 後, 不是value
沒有留言:
張貼留言