私は以下を実装しようとしています。オブジェクトjquery/javascriptからテーブルを作成
ユーザは、テキストボックスに文を入力し、その後にテーブルが作成されます。例がこれです。
入力:"This is what I want to achieve"
結果:以下
{t: ["this", "to"], i: ["is", "i"], w: ["what", "want"], a: ["achieve"]};
現在です:私はこのようになりますオブジェクトが存在していたコードに基づいて、現在
、コード私は(also see jsfiddle here)持っています。
私は入力文字列を取り、各単語の最初の文字を持つ行を持つテーブルを作成することができます。
HTML
<textarea id="text-input" name="textarea" rows="5" cols="25">This is what I want to achieve</textarea>
<button class="calculate">Calculate</button>
<table>
<tbody>
<tr class="words-header"></tr>
</tbody>
</table>
Javascriptを
$(document).ready(function() {
$(".calculate").click(function() {
var result = {},
arr = [];
var array = $("#text-input").val().toLowerCase().split(" ");
for (var i = 0; i < array.length; i++) {
if (typeof result[array[i][0]] == 'undefined') {
result[array[i][0]] = [];
}
result[array[i][0]].push(arr[i]);
}
for (var key in result) {
$(".words-header").append("<td>" + key.toUpperCase() + "</td>");
}
});
});
私はそれが助け場合、最終的なテーブルは次のようになりますと信じて:
<table>
<tr>
<td>A</td>
<td>I</td>
<td>T</td>
<td>W</td>
</tr>
<tr>
<td>achieve</td>
<td>is</td>
<td>this</td>
<td>what</td>
</tr>
<tr>
<td> </td>
<td>i</td>
<td>to</td>
<td>want</td>
</tr>
</table>
多次元配列ではありません、それはプロパティを持つオブジェクトの、そしてそのように記述する必要があります。 '{Tを]、i:[...]、...} '。 – blex
'var $ = jQuery.noConflict();'は意味がありません。 '$'エイリアスを削除するはずの 'noConflict()'の目的を破る – charlietfl
@blex質問を更新しました。私はこれをどのように実装できるか考えていますか? –