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"; 的 textarea 获取值;我试图将代码更改为

$("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 回答