どんなアクセスが生み出してきた価値観はserializeArrayマウスでクリック?

StackOverflow https://stackoverflow.com/questions/4236768

  •  26-09-2019
  •  | 
  •  

質問

私はこのHTMLに

<form id='myform'>
<input name='title' value='foo'/>
</form>

といオブジェクトを作成し配列からこのようになります:

var dataArray = $("#myform").serializeArray();

今どんなアクセス名"をdataArray?この働きません:

alert(dataArray['title']);
alert(dataArray['title'].val());
役に立ちましたか?

解決

ニックが掲載されているものと同様に、

が、少しクリーナー

var dataArray = $("#myform").serializeArray(),
    dataObj = {};

$(dataArray).each(function(i, field){
  dataObj[field.name] = field.value;
});

そして、同じようにアクセス

alert(dataObj['title']);

他のヒント

きはループを通じて として@Tomは...すればアクセス、ブロックの効率的なループには、一度作成のオブジェクトのようになります:

var dataArray = $("#myform").serializeArray(),
    len = dataArray.length,
    dataObj = {};

for (i=0; i<len; i++) {
  dataObj[dataArray[i].name] = dataArray[i].value;
}

その後からアクセスできるようにしたい、例えば:

alert(dataObj['title']); //or alert(dataObj.title);

できる試験ではこちら.

alert(dataArray[0].name);
alert(dataArray[0].value);

ですからます:

for (i=0; i<dataArray.length; i += 1) {
    if (dataArray[i].name === "title") {
        // do something here...
    }
}

ファイル名を指定して実行のconsole.log(dataArray);、プロパティインスペクタを開き、コンソールを確認してください。 Chromeで、あなたは右クリックして「エレメントを点検」を選択し、左下にある「> =」探しのアイコンをクリックするだろう、それは左から2番目です。

ではFirefoxは、あなたは放火犯をインストールしたいと「コンソール」と呼ばれるタブがあります。

わからない、それは開発者向けのツールで、おそらく何か、IEで利用できる場合(プレス F12 )が、私はIEでの開発をお勧めしません。

とにかくこれは、あなたが移動し、各項目の値を表示することができます方法でオブジェクトを一覧表示されます。あなたは、値にアクセスする方法を解読するためにこれを使用することができますこの方法:)

幸運

将来のヘルプ他の人にこのとにかくを追加します。すぐにすべての値を検査するための良い方法ます。

var formdata = $( "#myform" ).serializeArray();
var formdata = JSON.stringify(formdata);
alert (formdata);
div要素に

追記/エコー/印刷dataArray[0].nameは、 'タイトル'

あなたを与えるだろう

アラートserializeArray myDivにおける入力(注::inputセレクタを選択し、テキストエリアタグなども含まれます!):

//alert(fData.length) // how many inputs got picked up 
var fData=$("#myDiv :input").serializeArray();
var msg=""; 
for(var i=0;i<fData.length;i++){
    var raKy=Object.keys(fData[i]); 
    msg+="\n"+raKy[0]+":"+eval("fData[i]."+raKy[0])+" "+raKy[1]+":"+eval("fData[i]."+raKy[1]); 
}
alert(msg);

uderscore.jsで、これは我々がそれについて行くことができる方法である。

var serializedArray = $('form#spiderman-application').serializeArray();

var serializedObject = _.object(
  _.pluck(serializedArray, 'name'), 
  _.pluck(serializedArray, 'value')
)

console.log(serializedObject);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>

<form id="spiderman-application">
  <legend>Application Form</legend>
  <input name="./fname" value="Peter" />
  <input name="./lname" value="Parker" />
</form>

グッドラック...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top