通过表jQuery进行解析提供初始值,而不是当前值
我有一个非常简单的表结构通过表jQuery进行解析提供初始值,而不是当前值,jquery,json,Jquery,Json,我有一个非常简单的表结构 <table id="mytable"> <tr> <th>Content</th> <th>Options</th> </tr> <tr> <td class="content"><input type="text" value="my initial value"></td> <td class="option"&
<table id="mytable">
<tr>
<th>Content</th>
<th>Options</th>
</tr>
<tr>
<td class="content"><input type="text" value="my initial value"></td>
<td class="option">
<select>
<option value="value1" >Value#1</option>
<option value="value2" >Value#2</option>
<option value="value3" >Value#3</option>
</select>
</td>
</tr>
...
</table>
<input type="button" onclick="javascript:doIt()" value="do it";>
执行:
- 打开HTML
- 更改输入字段的值和/或选择中的其他值
- 点击按钮
我总是以初始值结束,而不是用户更改/键入的值请指出我的错误所在以及如何获取输入字段和选择的最新值。非常感谢 当您只需要
value
试一试
获取html将始终返回呈现时的元素,而不是现在的元素。试试这个
$("#mytable tr").each(function () {
var content = $(this).find(".content input");
var option = $(this).find(".option select");
if (content.length > 0) {
content = content.val();
option = option.val();
var line = {};
line['content'] = content;
line['option'] = option;
json[i] = line;
i++;
}
});
什么时候调用上面的JS代码。如果你只是在用户做了一些输入后调用它一次,而不是再次调用,这就是TKX zeropublix的原因,但是我可以在输入字段中输入一些东西,并在几分钟后多次触发包含上述JS的方法。每次&每次使用初始值而不是新值时。由于
height=$(height),您必须获取更多代码才能进一步了解它。val()
并没有真正提供sensePlease,因此我们可以查看如何调用此代码。主要问题是,您得到的是元素的html,而不是值。。。一个
没有html()
完成,我试图保持它的简短非常感谢,但这不起作用。我使用奇怪的html()
首先获取td值,然后在输入字段的相应选择上使用val()
。
$("#mytable tr").each(function (i) {
// get value not html
var content = $(this).find(".content").val();
var option = $(this).find(".option").val();
if (content ) {
var line = {
content: content,
option : option
};
json[i] = line;
// i++; not needed because index is already available in `each`
}
});
json = JSON.stringify(json);
$("#mytable tr").each(function () {
var content = $(this).find(".content input");
var option = $(this).find(".option select");
if (content.length > 0) {
content = content.val();
option = option.val();
var line = {};
line['content'] = content;
line['option'] = option;
json[i] = line;
i++;
}
});