我对此事有些疑问:
我在php中使用这个脚本从csv文件导入数据到mysql。
因为每个文件都有不同的标题我正在使用这个“接口”,我将在数据库的字段和文件的字段之间建立关联。
实际上我在最重要的部分被阻止了:如何最终确定关联? 实际上我得到了这个输出:
<table>
<tr>DATABASE</tr>
<td id="db_1">COL_NAME_A</td>
<td id="db_2">COL_NAME_B</td>
<td id="db_3">COL_NAME_C</td>
</tr>
<tr>FILE</tr>
<td id="file_1">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</td>
<td id="file_2">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</td>
<td id="file_3">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</td>
</tr>
</table>
现在,通过jquery,我如何制作一个json,我可以建立一个关联:
DB_1 => FILE_1:SELECTED_VALUE
DB_2 => FILE_2:SELECTED_VALUE
DB_3 => FILE_3:SELECTED_VALUE
答案 0 :(得分:1)
你的html在很多方面都被打破了,首先tr元素不能包含任何文本,其次select元素没有关闭。纠正那些。然后,如果我理解你,你可以利用数据属性来生成你需要的对象。像这样:
HTML:
<table>
<tr>
<td id="db_1">COL_NAME_A</td>
<td id="db_2">COL_NAME_B</td>
<td id="db_3">COL_NAME_C</td>
</tr>
<tr>
<td id="file_1" data-db="db_1" data-file="file_1" class="doStuff">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</select>
</td>
<td id="file_2" data-db="db_2" data-file="file_2" class="doStuff">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</select>
</td>
<td id="file_3" data-db="db_3" data-file="file_3" class="doStuff">
<select name="fileFieldsContainer">
<option value="FILE_FIELD_A">FILE_FIELD_A</option>
<option value="FILE_FIELD_B">FILE_FIELD_B</option>
<option value="FILE_FIELD_C">FILE_FIELD_C</option>
</select>
</td>
</tr>
</table>
JS:
$(function () {
var t = [];
$(".doStuff").each(function () {
var o = {};
var innerO = {};
innerO[$(this).data("file")] = $(this).find("select").val();
o[$(this).data("db")] = innerO;
t.push(o);
});
console.log(t);
});