首先,对标题感到抱歉,我知道这不是很具体,但我真的很难说还有什么要说的。
所以,在我尝试并解决我的问题之前,你不妨看看我制作的这个jsfiddle: http://jsfiddle.net/ax1ncdmu/2
它在这个小提琴中是如何工作的正是我希望它如何工作,但正如你可以看到jQuery是这样的:
$(document).ready(function () {
$("input[name=guest0]").click(function () {
$('#guest0').toggle();
});
$("input[name=guest1]").click(function () {
$('#guest1').toggle();
});
$("input[name=guest2]").click(function () {
$('#guest2').toggle();
});
});
但是写出这样的代码似乎很草率,只是重复同样的事情。我觉得它应该是显而易见的但我之前没有使用过jQuery,所以我很难搞清楚它。
有没有办法找出被点击的复选框的“名称”,然后使用该字符串插入代码?或者这是错误的方式吗?
答案 0 :(得分:8)
您可以使用jQueries attribute-starts-with-selector:
$(document).ready(function () {
// all inputs that its name starts with "guest"
$("input[name^=guest]").click(function () {
// read the name and apply to id
$('#'+$(this).attr('name')).toggle();
});
});
看到它正常工作: