javascript - jQuery 一个对话框有多个 "opener"按钮

标签 javascript jquery html button jquery-ui-dialog

我有大约一百万个按钮试图从 jQuery UI 打开一个对话框。 页面上的第一个按钮可以很好地打开对话框,但是页面上的其他每个按钮都没有执行任何操作,它们都有相同的 id,我只是使用网站上的基本对话框脚本(我对很多东西都很陌生)所有 JS)。

这是代码;

<td style="height:15px"><input type="button" id="opener" value="Edit" onClick="currentroom( 0,0 )"></td>

这是其中一个按钮的示例。

<div id="dialog" title="Set Room Type">
<a onClick="changeroomblank()"><img src="img/blank.png" alt="No room" width="32" height="32"></a>

这是对话框 div 的开始

最后。

<script>

$( "#dialog" ).dialog({ autoOpen: false });
$( "#opener" ).click(function() {
  $( "#dialog" ).dialog( "open" );
});

</script>

所以它几乎都是从网站复制和粘贴的,但在我寻求帮助的任何地方,我看到的都是如何在对话框上获取实际的按钮,而我不需要。

最佳答案

由于 id 是唯一的,因此您需要使用 class 来代替:

<td style="height:15px"><input type="button" class="opener" value="Edit" onClick="currentroom( 0,0 )">

那么你可以这样做:

$(function() {
    $("#dialog" ).dialog({ autoOpen: false });
    $(".opener" ).click(function() {
        $( "#dialog" ).dialog( "open" );
    });
});

此外,请记住将代码包装在 DOM 就绪处理程序中 $(function() {...}); 以确保在执行 javascript 之前正确添加所有 DOM 元素。

关于javascript - jQuery 一个对话框有多个 "opener"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22374236/

相关文章:

javascript - Django Python - Javascript 动态表对行进行排序

javascript - jQuery toggle() - 添加和删除事件元素的类

jquery - ajax成功: function (msg) undefined

html - FF Chrome 和 Safari PC 中的分页前失败

javascript - 替换功能只能使用一次(javascript)

javascript - 删除具有特定id的div标签并保留内容

Javascript 检查数组中的现有对象

javascript - 阻止执行 JQuery 加载的示例脚本

javascript - 选择具有特定 src 且没有 alt 标签的所有图像元素

php - jQuery 使表单消失并依次出现