javascript - 在 $.get 之后更改属性

标签 javascript php jquery html

我有一个表,其中每一行代表一个用户(从数据库填充)。我希望当用户单击这些行之一时,一些元素会附加到与单击的行相关的行下方。

我通过以下脚本实现了这种效果:

        $('.data-table tr').click(function () {
                $(this).after('<tr class="trow"><td colspan="6">' +
                    '<div class="trowdiv"></div>' +
                    '</td></tr>'
                );


                $.get("file.php", function (data) {
                    $( ".trowdiv" ).html( data );
                });

            }
        });

file.php 只是一些 HTML 元素:

<label for="name">Name:</label>
<input type="text" id="name" name="name" maxlength="255" value='' />
<br/>
<label for="email">Email Address:</label>
<input type="text" id="email" name="email" maxlength="100" value='' />

我现在想要的是通过添加一些内容(在$.get之后)来更改每个inputvalue属性,例如:

$('#name').attr('value', "hello");

但是这不起作用。我怀疑是因为元素还没有加载?

执行此操作时,我还会得到未定义:

alert($('#name').attr('value'));

有什么办法可以达到我想要的结果吗?或者甚至是一种将信息发送到 file.php 的简单方法?

谢谢。

最佳答案

Javascript 是异步的。要更改属性,您需要确保 html 已附加/前置或加载。因此,您需要将您的

$('#name').attr('value', "hello");

alert($('#name').attr('value'));

像这样进入$.get()

            $.get("file.php", function (data) {
                $( ".trowdiv" ).html( data );
                $('#name').attr('value', "hello");
                alert($('#name').attr('value'));
            });

关于javascript - 在 $.get 之后更改属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24648158/

相关文章:

javascript - AngularJS:ngSwipeLeft 上的函数调用

javascript - 如果 props 和 state 没有改变,为什么 React 组件会更新

php - 为什么使用 LIKE %value% 给我的 php 页面一个 500 代码?

php - 处理并发问题的最佳方法

php - 允许定义可编辑区域的开源 CMS

javascript - 执行javascript

javascript - RegEx 结果的 "cannot read property ' 长度 ' of null"

javascript - 如何将下面的 hashMap<String, String> 转换为可用的 JS 对象?

jquery - 添加div后图像不断向下移动

javascript - 制作多选表格