我正在尝试优化我的代码,并且想知道这里是否有人可以帮助我。
在我解释我的问题之前,让我为您提供我的html和js / jquery代码以供您观看!
HTML:
<tr>
<td>
<input email="a@a.com" value="4560" type="checkbox" id="task_checked">
</td>
<td>a@a.com</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="4560" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="4560" type="text" class="category">
</div>
</td>
</tr>
<tr>
<td>
<input email="b@b.com" value="6012" type="checkbox" id="task_checked">
</td>
<td>b@b.com</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="6012" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="6012" type="text" class="category">
</div>
</td>
</tr>
<tr>
<td>
<input email="c@c.com" value="5604" type="checkbox" id="task_checked">
</td>
<td>c@c.com</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="5604" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="5604" type="text" class="category">
</div>
</td>
</tr>
希望这不会让你害怕!
这是我的Jquery。
var newTasksArr = {};
$("#task_checked:checked").each(function() {
var email = $(this).attr("email");
var id = $(this).val();
newTasksArr[id] = email;
});
var AddedEmailsArr = [];
var inputs = $('input.added_email'), tmp;
$.each(inputs, function(i, obj) {
tmp = {
'Task_ID': $(obj).attr('id'),
'email': $(obj).val(),
'category' : $(obj).siblings('.category').val(),
};
AddedEmailsArr.push(tmp);
});
正如你现在所看到的,我有两个Jquery函数,我试图将其作为一个函数。
让我告诉大家/ gals输出的样子。
//output for var newTasksArr = {};
Object { 4560="a@a.com", 6012="b@b.com", 5604="c@c.com" }
//output for var AddedEmailsArr= {};
[
Object { Task_ID="4560", email="f@f.com.com", category="example1" },
Object { Task_ID="6012", email="g@g.com.com", category="example2" },
Object { Task_ID="5604", email="z@z.com", category="example2" }
]
为了优化我的代码,我想摆脱这两个对象并进入一个对象。
以下是我希望它的样子。
[
Object { Task_ID="4560", email="f@f.com.com", category="example1" },
Object { Task_ID="6012", email="g@g.com.com", category="example2" },
Object { Task_ID="5604", email="z@z.com", category="example2" },
Object { Task_ID="4560", email="a@a.com" },
Object { Task_ID="6012", email="b@b.com" },
Object { Task_ID="5604", email="c@c.com" }
]
希望我的问题有道理,我真的很感谢你们提出这个问题的任何帮助。请随时向我询问澄清事项。
谢谢。
答案 0 :(得分:0)
我没有时间完全了解所有细节。但我认为您可能需要退后一步并重新考虑这种方法。 ID应该是唯一的,您可以查看使用“数据”属性而不是创建自己的属性。看起来你是在正确的思维过程中,但没有坚实的基础。