我在表中有一些标签(tagbutton
),每个标签都有自己的id,我想要实现的是当用户点击标签时,在表单中创建一个带有值的隐藏输入已被单击的div(或标记)。我还希望将单击的div复制到tagselected
div中。
我不知道如何在jquery上做到这一点。非常感谢您的帮助。
<table> <tr>
<td> <div class="tagbutton" id="jazz"> Jazz </div> </td>
<td> <div class="tagbutton" id="classical"> Classical </div> </td>
<td> <div class="tagbutton" id="R&B"> R&B </div> </td>
</tr> </table>
<div id="tagselected"> </div>
<form> <input type="text"> <button ="submit"> Submit </button> </form>
这是我必须复制div的javascript函数,但是当我点击它时整个表都被复制了
$('#jazz').click(function () {
$('.tagbutton').clone().insertAfter("#tagselected");
});
答案 0 :(得分:0)
此代码错误:
$('#jazz').click(function () {
$('.tagbutton').clone().insertAfter("#tagselected");
});
此代码的问题在于您要检索整个页面上具有类tagbutton
的所有项目。如果您的点击功能在您想要的项目上,那么您应该只能使用this
来访问所点击的项目。
如下所示:
$(this).clone().insertAfter("#tagselected");
此代码未经过测试,只是初始jQuery选择器的简单更改。
我认为你对隐藏字段的问题是相同的 - 你选择了所有标签而不是你点击的标签,所以希望这也能解决这个问题。