テーブルの各行をループしてjsonオブジェクトを作成するコードがいくつかあります。行の要素は、次のいずれかになります。
<input type="text" id="myelem"/>
また
<p id="myelem">foo</p>
id
両方の属性が同じであることに注意してください。これは、Add a new Row
このボタンをクリックするとテーブルにボタンがあり、チェックボックスが付いた別の行がテーブルに追加されるためです。ユーザーがフォームを送信すると、チェックボックスが消え、入力した値が次のようになります。<p id="myelem">value they entered</p>
以下は私がこれに使用しているコードです。
$('.input-row').each(function(index, row) {
var innerObject = {};
var key = $('#myelem', row).val().toUpperCase();
jsonObject[key] = "bar";
});
関数を使用しているため、上記はテキストボックスで正常に.val()
機能します。ただし、行にデータが含まれている場合、その行からデータを取得するにはどうすればよいです<p id="myelem">foo</p>
か?
私の擬似コードは次のようになります。
$('.input-row').each(function(index, row) {
var innerObject = {};
/*
if #myelem is a text box then use .val()
if #myelem is a <p> tag then use .html()
*/
var key = $('#myelem', row).val().toUpperCase();
jsonObject[key] = "bar";
});