为什么我不能用.val()更改此输入的值?

时间:2012-07-27 02:18:15

标签: jquery

我正在尝试更改此禁用输入的值。我想也许它被禁用的事实是问题,所以我手动删除了禁用的属性(如果你想知道为什么它不再在屏幕截图中被禁用)。见下图:

enter image description here

从控制台返回的内容似乎是正确选择输入,但即使输入已启用,输入值仍为空白。我做错了什么?

3 个答案:

答案 0 :(得分:7)

我可以告诉你我遇到了类似的问题,并且通过使用jQuery的attr方法解决了这些问题。它可以将任意HTML属性设置为您想要的任何内容。点击此处:http://api.jquery.com/attr/

答案 1 :(得分:0)

我认为您正在寻找.prop()而不是.val()

答案 2 :(得分:0)

不确定页面的其余部分是什么样的,但我可以看到您正在嵌套表 - 可能会导致混淆和意外结果,尤其是隐藏的嵌套表。当用户点击add-btn时,您是否要显示隐藏的表格?如果是这样,为什么不通过在点击事件中查找相对于单击按钮来获取文本按钮?

$(".add-btn").click(function(evt){
    var product = getProductNameSomehow(); // Up to you

    var newContainer = $(this).siblings("table").find(".new-row-html");
    newContainer.find("input.product").val(product);

    evt.preventDefault();
    return false;
});

您可以使用$(...).on("click", ...)改进和推广此示例侦听器。 .a-btn可能会更好<button type="button">Add</button>,也许styled as a link,如果这是你想要的,那么你就不必担心停止点击事件了。