无法从自定义对话框中获取textarea值

时间:2013-10-11 12:15:18

标签: javascript jquery html

$("#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显示得很好。但是当我点击提交时,我无法从textarea获得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”。文本框内的初始文本。 :(

1 个答案:

答案 0 :(得分:2)

首先,您需要使用.val()代替.text()来获取值。

我认为你可以直接使用$("#forcereason").val()。因为id是唯一的