2009-08-17 10 views
15

にvarの値をプッシュ私はこれはおそらく、簡単な質問ですけど、私はプラグインで& JSを微調整をしようとしていますが、私の専門知識ではないと私は、次の操作を実行する方法について困惑してしまった:アレイ

私は、ユーザーが何を入力したかに応じていくつかの値($ fruit)を含む配列を持っています。私は手動入力によって決定されない別の変数を配列に追加したい。

私はプッシュはここに当てはまるはずですが、うまく動作しないようですが、なぜ次の構文が機能しないのですか?

var veggies = "carrot"; 
var fruitvegbasket = $('#fruit').val(); 
fruitvegbasket.push(veggies); 

更新: は、私はそれがこれをやって働いて得た:

var fruit = $('#fruit').val(); 
var veggies = "carrot"; 
fruitvegbasket = new Array(); 
fruitvegbasket.push(fruit+","+veggies); 

がわからないことがそれを行うための最善の方法だが、それは動作します。皆さんありがとう!私の頭の上オフ

答えて

32

私はそれがこのように行われるべきだと思う:

var veggies = "carrot"; 
var fruitvegbasket = []; 
fruitvegbasket.push(veggies); 
6

jQueryの配列と同じではありません。

$('#fruit').append(veggies); 

のか、あなたの例のように、フォームの値の末尾に付加するために:あなたはjQueryオブジェクトの最後に何かを追加したい場合は、使用

$('#fruit').val($('#fruit').val()+veggies); 

をお使いの場合には、 fruitvegbasketは、現在の値が#fruitであり、配列ではない文字列です。

jQueryの(jquery.com)は、DOM操作を可能にし、あなたがval()と呼ばれる特定の関数は、文字列としてinput要素のvalue属性を返します。文字列に何かを押し込むことはできません。

+0

は、あなたが ' '' + 'の前に' veggies'を必要としないのですか? – Dan

1

.val()は、DOM要素から配列を返しません。$('#fruit')はIDの#fruitを持つ文書内の要素を見つけ、その値を取得します(値がある場合)。