Javascript 在多个按钮中调用相同的jQuery函数
我对jQuery不是很熟悉。我下载了这段代码来创建淡入/淡出弹出表单。代码如下:Javascript 在多个按钮中调用相同的jQuery函数,javascript,jquery,html,Javascript,Jquery,Html,我对jQuery不是很熟悉。我下载了这段代码来创建淡入/淡出弹出表单。代码如下: <script type='text/javascript'> $(document).ready(function() { $('#button').click(function(e) { $('#modal').reveal({ animation: 'fade', animation
<script type='text/javascript'>
$(document).ready(function() {
$('#button').click(function(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
});
});
</script>
此php代码将显示5个具有相同id的按钮,即“按钮”。我想做的是,当我单击jQuery函数将执行的5个按钮中的任何一个时,会弹出一个淡入/淡出表单。第一个解决方案:
function doClick(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
}
$('#button1').click(doClick);
$('#button2').click(doClick);
第二种解决方案:
function doClick(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
}
$('#button1').click(doClick);
$('#button2').click(doClick);
为所有涉及的按钮指定一个类“someClass”
<input type=button class=someClass ...
第三种解决方案:
function doClick(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
}
$('#button1').click(doClick);
$('#button2').click(doClick);
使用逗号分隔ID:
$('#button1, #button2').click(function(e) {
...
});
通常,最好的解决方案是第二种:它允许您在代码中添加按钮,而无需修改javascript部分。如果动态添加其中一些按钮,您甚至可以这样做
$(document).on('click', '.someClass', function(e) {
...
});
ID应该是唯一的。试着使用类似于
$('input[type="button"]')
您可以使用
,
单独的id按类调用它们
$(document).ready(function() {
$('#button, #button1, #button2').click(function(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
});
});
$(文档).ready(函数(){
$('按钮1,'按钮2,'按钮3')。单击(函数(e){
$('#模态')。显示({
动画:“淡入淡出”,
动画速度:150,
closeonbackgroundclick:true,
dismissmodalclass:“关闭”
});
返回false;
});
});
或者使用前面提到的类您可以使用css类名而不是
id
来实现它,如下所示
<script type='text/javascript'>
$(document).ready(function() {
$('.fade').click(function(e) {
$('#modal').reveal({
animation: 'fade',
animationspeed: 150,
closeonbackgroundclick: true,
dismissmodalclass: 'close'
});
return false;
});
});
</script>
$(文档).ready(函数(){
$('.fade')。单击(函数(e){
$('#模态')。显示({
动画:“淡入淡出”,
动画速度:150,
closeonbackgroundclick:true,
dismissmodalclass:“关闭”
});
返回false;
});
});
还有按钮的html
<button class="fade">Button1</button>
<button class="fade">Button2</button>
<button class="fade">Button3</button>
按钮1
按钮2
按钮3
对按钮使用不同的ID,并按如下所示更改功能
$('按钮1,'按钮2,'按钮3')。单击(函数(e){
如果您对所有按钮使用相同的buttonid,则无需调用所有按钮。只需使用此代码即可。您似乎正在使用此代码中的动画…我们可以使用切换淡入淡出,而不是显示
$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“#buttonid”).fadein();
$(“#buttonid”).fadeout();
});
});
在循环中动态创建唯一buttonid的数组
$button[] = '#'.$buttonid;
在循环外部,使用内爆
将此数组转换为逗号分隔的字符串
$jsstring = implode(",",$button);
现在使用php在js代码中将上述字符串作为选择器传递,如下所示:
$(document).ready(function() {
$('< php echo $jsstring ; ?>').click(function(){ });
});
$(文档).ready(函数(){
$('')。单击(function(){});
});
使用以下代码中更简单的方法:
方法1:
$(文档).ready(函数(){
$('input:button[name=“button1”],[name=“button2”]”。单击(
函数(){
警报(“测试”)
});
});
方法2:
$(文档).ready(函数(){
$('button[id=“button1”],[id=“button2”])。单击(
函数(){
警报('TE222ST')
});
});
bbbbb
bbbbb
我有解决这个问题的办法
$(document).ready(function () {
$("#btnSubmit,#btnSubmitbuttom").click(function () {
var rfp = true;
var count = 0;
var lbxBD_Role = $("#lbxBD_Role option:selected").val();
if (lbxBD_Role == "" || lbxBD_Role == undefined) {
$("#lblBD_Role").attr("style", "visibility: visible");
$("#lblBD_Role").attr("style", "color: red");
$("#lblBD_Role").html('* Required');
count++;
}
});
});
</script>
$(文档).ready(函数(){
$(“#btnSubmit,#btnSubmitbuttom”)。单击(函数(){
var=true;
var计数=0;
var lbxBD_Role=$(“#lbxBD_Role option:selected”).val();
if(lbxBD_角色==“”| | lbxBD_角色==未定义){
$(“#lbd_角色”).attr(“样式”,“可见性:可见”);
$(“#lbd_角色”).attr(“样式”,“颜色:红色”);
$(“#lbd_Role”).html(“*必选”);
计数++;
}
});
});
类更适合IMO@RoryMcCrossan只要没有指定ID的容器,我会说它没有多大区别。只是想发布其他答案的替代方案+1关于实现相同内容的不同方法的良好概述。太棒了!太棒了!非常感谢@dystroy,你是个天才。我使用了您的第二个解决方案,效果很好。这应该可以,但我有5个按钮,它们的id与php文件中循环生成的相同。或者是否可以使用数组命名按钮id,如button id='button[0]'?因此,最好使用ClassClass如果class属性提供了多个值,例如class=“class1 class2 class3”等等?谢谢
<script>
$(document).ready(function () {
$('input:button[name="button1"],[name="button2"]').click(
function () {
alert('test')
});
});
</script>
<input type="button" id="button1" name="button1" value="Filter" />
<input type="button" id="button2" name="button2" value="Filter" />
<script>
$(document).ready(function () {
$('button[id="button1"],[id="button2"]').click(
function () {
alert('te2222st')
});
});
</script>
<button id="button1" >bbbbb</button>
<button id="button2" >bbbbb</button>
$(document).ready(function () {
$("#btnSubmit,#btnSubmitbuttom").click(function () {
var rfp = true;
var count = 0;
var lbxBD_Role = $("#lbxBD_Role option:selected").val();
if (lbxBD_Role == "" || lbxBD_Role == undefined) {
$("#lblBD_Role").attr("style", "visibility: visible");
$("#lblBD_Role").attr("style", "color: red");
$("#lblBD_Role").html('* Required');
count++;
}
});
});
</script>