我只是想知道,使用jquery从HTMl代码中检索当前值并将其存储到数组中的最佳方法是什么?
<table id="metric_summary">
<tbody>
<tr class="editable_metrics">
<td><label>DataSet:</label></td>
<td><input name="DataSet" value="prod"></td>
</tr>
<tr class="editable_metrics">
<td><label>HostGroup:</label></td>
<td><input name="HostGroup" value="MONITOR"></td>
</tr>
<tr class="editable_metrics">
<td><label>Host:</label></td>
<td><input name="Host" value="ALL"></td>
</tr>
<tr class="editable_metrics">
<td><label>Class:</label></td>
<td><input name="Class" value="CPU"></td>
</tr>
<tr class="editable_metrics">
<td><label>Object:</label></td>
<td><input name="Object" value="cpu"></td>
</tr>
<tr class="editable_metrics">
<td><label>Metric:</label></td>
<td><input name="Metric" value="CapacityCPUUtilization"></td>
</tr>
谢谢
最佳答案
我没有测试,但它应该做的是:
var Dict = {};
$('#metric_summary input').each(function (index, input) {
Dict[input.name] = input.value;
});
编辑:如果要将值存储在没有标签的数组中,可以执行以下操作:
var Values = [];
$('.editable_metrics input').each(function (i, input) {
Values.push(input.value);
});
但你不知道哪个值指的是哪个标签。您可以改为:
var Values = [];
$('.editable_metrics input').each(function (i, input) {
Values.push( [ input.label, input.value ] );
});