Jquery不会更改输入字段值

时间:2017-02-24 18:24:00

标签: jquery html

输入字段的值不会改变。当我警告变量时,我从MySQLI数据库中获取值,因此我的php脚本不会出现问题。此外,我已将value()交换为css颜色,实际上输入字段都是彩色的。所以我有点困惑为什么它只是没有将值更改为变量的值???

请注意触发事件的选项是下拉菜单中的选项之一;这就是为什么我必须提出攻击DOM然后跨越它并且它非常漫长。我是Jquery bww的新手,所以如果能以更好的方式做到这一点,我会很高兴听到。

如果HTML有用,我也在下面添加了

提前谢谢。

Jquery的

$('.option').on('click', function(){

            var name = $(this).html();
            $.post('ajax.php', {name: name}, function(data) {

                var obj = jQuery.parseJSON(data);

                var item = obj[6]
                var desc = obj[7]
                var qty = obj[8]
                var price = obj[9]
                var disc = obj[10]
                var account = obj[11]
                var tax = obj[12]
                var amount = obj[13]



            $(this).closest("td").siblings().eq(0).children().val(item);


            $(this).closest("td").siblings().eq(1).children().val(desc);


            $(this).closest("td").siblings().eq(2).children().val(qty);


            $(this).closest("td").siblings().eq(3).children().val(price);


            $(this).closest("td").siblings().eq(4).children().val(disc);


            $(this).closest("td").siblings().eq(5).children().val(account);


            $(this).closest("td").siblings().eq(7).children().val(tax);


            $(this).closest("td").siblings().eq(9).children().val(amount);

            });
        });

HTML示例

<td>
  <input type="text" name = "sales[1][item]" size = "12">
  </td>
  <td>
    <button class="item" type = "button">Add</button>
    <div class = "dropmenu"></div>
  </td>
  <td>
    <input type="text" name="sales[1][description]"  size="40">
  </td>

1 个答案:

答案 0 :(得分:1)

我建议不要使用.closest,就像兄弟姐妹和孩子一样。 它可以使某些东西变得非常简单。

你正在获得你的价值,如果你可以改变颜色(正如你所说的那样),那么我认为你的错误就在某个地方。&#34;点&#34;正好在你想要设定价值的地方。

我看不到你的完整代码,尝试做一个简单的新元素,你可以只是为了测试目的,看看它是否有效。如果确实如此,那么您的失败就是指向您想要设置价值的确切位置。

编辑: 而不是创建一个新元素,只需将一个类添加到您的TD(或ID)之一并执行

$('.YOUR CLASS').val(WHAT YOU WANNA SET AS VALUE);