これはおそらく簡単な質問であることはわかっていますが、プラグインで微調整を試みていますが、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);
それが最善の方法かどうかはわかりませんが、うまくいきます。皆さんありがとう!
私の頭の上から、私はそれがこのように行われるべきだと思う:
var veggies = "carrot";
var fruitvegbasket = [];
fruitvegbasket.Push(veggies);
jQueryは配列とは異なります。 jQueryオブジェクトの最後に何かを追加する場合は、次を使用します。
_$('#fruit').append(veggies);
_
または、あなたの例のようにフォーム値の最後に追加する:
_ $('#fruit').val($('#fruit').val()+veggies);
_
あなたの場合、fruitvegbasket
は、配列ではなく、現在の_#fruit
_の値を含む文字列です。
jQuery( jquery.com )はDOM操作を可能にし、val()
を呼び出した特定の関数は、value
要素のinput
属性を次のように返します。文字列。文字列に何かをプッシュすることはできません。
.val()
はDOM要素から配列を返しません。$('#fruit')
は、ドキュメント内でIDが#fruitの要素を見つけ、その値を取得します(値がある場合)。
おそらく$('#fruit').val();
は配列を返さないので、次のようなものが必要です。
$("#fruit").val() || []