0
$("#forcedcancel").on("click", function(e){
    e.preventDefault();
    $("#forceDialog").remove();

    var forcedialog = "";
    forcedialog += '<div id="forceDialog">';
    forcedialog += '<h3>Reason for force cancelling the lesson</h3>';
    forcedialog += '<p><textarea id="forcereason">A causa di </textarea><p>';
    forcedialog += '<button id="submitforce" class="btn btn-primary">Submit</button><button id="cancelforce" class="btn btn-danger">Cancel</button>';
    forcedialog += '<input type="hidden" id="dbv" value="'+bd+'">';
    forcedialog += '</div>';

    $('body').prepend(forcedialog);
});

$("body").on("click", "#submitforce", function(){

    var data = {
        bdv : $("#dbv").val(),
        reason : $("#forcereason").text()
    }
    alert(data.reason);
});

id="forceDialog" の div は問題なく表示されています。しかし、[送信] をクリックすると、id="forcereason" のテキストエリアから値を取得できません。コードを次のように変更しようとしました

$("body").on("click", "#submitforce", function(){

    var data = {
        bdv : $("#dbv").val(),
        reason : $("body").closest("#forceDialog").find("#forcereason").text()
    }
    alert(data.reason);
});

しかし、私が得ている唯一のアラートは「A causa di」です。テキストボックス内の最初のテキスト。:(

4

1 に答える 1

2

まず第一に、値を取得する.val()代わりに使用する必要があり.text()ます。

直接使用できると思います $("#forcereason").val().idは一意なので

于 2013-10-11T12:16:20.323 に答える