Javascript 动态创建的文本框的值不会得到更新

Javascript 动态创建的文本框的值不会得到更新,javascript,jquery,Javascript,Jquery,我正在用这段代码创建动态行,但是文本框的值在我键入时没有得到更新。也就是说,我可以在文本框中看到文本,但当我获取/检查值时,它是空的 我试着去探索,但我不知道发生了什么,有什么线索吗 $('#add_ans').click(function(){ var rowCount = $('table tbody tr').length + 1; var rowString = '<tr>\ <td><div class="span_

我正在用这段代码创建动态行,但是文本框的值在我键入时没有得到更新。也就是说,我可以在文本框中看到文本,但当我获取/检查值时,它是空的

我试着去探索,但我不知道发生了什么,有什么线索吗

$('#add_ans').click(function(){
var rowCount = $('table tbody tr').length + 1;
var rowString = '<tr>\
                    <td><div class="span_5"><span class="badge badge-success">'+rowCount+'</span></div></td>\
                    <td><div class="span3"><input type="text" class="input-large" value="" /></div></td>\
                    <td><div class="span2 pull-right"><b>0</b></div></td>\
                    <td><div class="span2"><button class="btn btn-success" id="vote'+rowCount+'"><b>Vote!</b> <i class="icon-thumbs-up"></i></button></div></td>\
                    <td><div class="span2"><button class="btn btn-info" disabled><b>Reviews</b> <i class="icon-ok-circle"></i></button></div></td>\
                </tr>'
$('tbody').append(rowString);
$('tbody').on("click","#vote"+rowCount,voteOption);
}您没有在HTML中设置value属性,因此它将保持为空。只需使用val而不是attr'value':

或者,您可以在正在生成的HTML中设置value属性,然后使用现在使用的方法检索它

这里有一个JSFIDLE,它可以正常工作:

您没有在HTML中设置value属性,因此它将保持为空。只需使用val而不是attr'value':

或者,您可以在正在生成的HTML中设置value属性,然后使用现在使用的方法检索它

这里有一个JSFIDLE,它可以正常工作:

使用而不是.attr'value'

使用而不是.attr'value'

function voteOption(){            
    var rowCount = $('tr').index($(this).closest('tr'));
    alert(rowCount);
    var ans = $('tr:eq('+rowCount+') .input-large').attr('value');
    alert(ans);
var ans = $('tr:eq('+rowCount+') .input-large').val();