HTML中的Textfield不会改变它的值,需要一个脚本吗?

时间:2014-06-14 08:33:57

标签: javascript jquery html

我有这段HT​​ML代码:

<table id="mytable">
<tr>
<td><input type=text value="hello"></td>
<td><input type=text value="George"></td>
</tr>
</table>
<button onclick="return getValues();">

和JS(Jquery)代码:

function getValues(){
    var inputs = $('#mytable').find("input");   
    for (var u = 0; u<inputs.length ; u++){ 
        $(inputs[u]).parent().html($(inputs[u]).attr("value"));
    }

    return false;
}

所以基本上按下按钮我想搜索所有输入并用它们的值替换它们。 但是HTML不会动态更新文本字段的值,因此我可以输入我想要的任何内容,但它总是会生成带有“hello”和“George”的表。我想删除文本字段,但保留其实际的“值”,而不是保存在属性中的值。
像textfield.getActualText()之类的东西,因为Jquery attr(“value”)返回在页面加载时分配的值。
希望你知道我的意思。
文本字段没有名称,因为它们不需要它们,JS无论如何都会删除它们。

1 个答案:

答案 0 :(得分:1)

您应该使用.val()而不是.attr(),因为.attr()只返回输入元素设置的初始值。并且您不需要使用for循环来迭代包装为jquery对象的一组元素,您只需使用jquery的.each()函数来迭代它。

尝试,

$('#mytable').find("input").each(function(){
 $(this).parent().html($(this).val());
});   

DEMO