私はこのjsFiddleを持っています: http://jsfiddle.net/4wyDA/1/
テーブルセルをクリックするとテキストボックスが追加されるようにセットアップしましたが、私が抱えている問題は、テーブルセルをクリックするとテキストボックス内のテキストを編集できないことですe.stopPropagation()
。動作しません。
1) 誰かが表のセルをクリックすると、入力/テキストエリアを持つ他のすべてのセルが入力/テキストエリアを削除し、テキストをセルに戻す必要があります (動作)、2) クリックされたセルセルからのテキストを入力/テキストエリアに入力する必要があります(機能します)。最後に、ユーザーはボタンをクリックして入力/テキストエリアのテキストを編集できるはずです (ステップ 1 と 2 を実行し続けると機能しません)。
$(".editable").click(function(e) {
$(".editable").each(function() {
if ($(this).has("input")) {
var v = $(this).children("input.input, textarea").val();
$(this).text(v);
}
});
var type = $(this).attr("data-type");
var val = $(this).text();
if (type === "text" || type === "date") {
str = '<input type="text" class="input" style="width: 100%;" value="' + val + '" /><br />';
}
str += '<input type="button" value="Save" />';
str += '<input type="button" value="Cancel" />';
$(this).html(str);
});
$(document).on("click", ".editable input", function(e){
e.stopPropagation();
});