我在我的php页面中有一个while循环,它通过计数器变量为每个按钮和表单设置了不同的ID。每个按钮都必须打开不同的表单(每个按钮都有预先选择的不同默认信息,这是为了续签处方)。我可以通过在我的javascript中为每个ID都具有click函数来调用此函数,以在正确的表单上调用显示。但是,显然这是不可扩展的,因此它无法适应我拥有的处方数量。在网上浏览时,我看到人们在使用类,而id则以解决此问题的方式开头。但是,当我使用此解决方案时,按钮会打开所有表单……不是所希望的行为。目前,我的javascript函数如下:
$('[id^="add-renew-link"]').click(function () {
$('[id^="add-renew-form"]').show();
});
像上面提到的那样,该函数的确由所有不同的ID按钮调用。但是,每次单击其中一个按钮时,该代码都会打开所有表单。ID的形式实际上是add-renew-form0,add-renew-form1,add-renew-form2 ...(与add-renew-link相同的模式)。末尾具有相同编号的表格和链接应被链接。有人知道我怎么能做到这一点吗?非常感谢!!
你近了 该$('[id^="add-renew-form"]').show();
会匹配所有元素开始瓦特/“添加续签形式”作为id,使正在显示为什么您遇到任何形式的点击任何链接/按钮时。
您可以使用正则表达式从ID的末尾提取数字,以在关联的表单上找到匹配项,如下所示:
$('a[id^="add-renew-link"]').click(function() { var idx = $(this).attr("id").match(/\d+$/)[0]; // Pull index number from id $("#add-renew-form" + idx).show(); });
该jsbin有一个完整的工作示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句