Jquery 为什么赢了';这不是模态显示吗?

Jquery 为什么赢了';这不是模态显示吗?,jquery,html,modal-dialog,Jquery,Html,Modal Dialog,为什么下面的代码不显示模式 按钮: <td><button type="button" id="display" class="btn btn-warning btn-small">Yes &raquo;</button> </td> Yes»; Javascript: <script type="text/javascript"> $('#display').click(function(e) {

为什么下面的代码不显示模式

按钮:

<td><button type="button" id="display" class="btn btn-warning btn-small">Yes &raquo;</button>   </td>
Yes»;
Javascript:

<script type="text/javascript">

$('#display').click(function(e) 
{
        var displaydatasharingModal = $('#displaydatasharingModal')
        var emails = <?php echo json_encode($emails) ?>;

        //var current_id = $(this).data('id');
        //$(".modal-body #current_id").val(current_id);
        console.log(emails);

        alert("yes!");

    // function to get the options  
    function getPropsAsString(emails) { 

            var props = [];

            for (prop in emails) {
                    var val = emails[prop];

                    // Filter out blank at beginning and "Add New"
                    //if (val === " " || val === "Add New")
                    //    continue; // skip it

                    props.push(prop);
            }
            // Sort them (what the hell)
            props.sort(); 

            return props.join(", ");
    }

    $('#modal-body span2').html(getPropsAsString(emails));                    

    displaydatasharingModal.modal('show');
}
</script>

$(“#显示”)。单击(函数(e)
{
var displaydatasharingmodel=$(“#displaydatasharingmodel”)
var=;
//var current_id=$(this).data('id');
//$(“.modal body#current_id”).val(current_id);
控制台日志(电子邮件);
警惕(“是的!”);
//函数以获取选项
函数getPropsAsString(电子邮件){
var-props=[];
用于(电子邮件中的道具){
var val=电子邮件[prop];
//过滤掉开头的空白并“添加新内容”
//如果(val==“添加新的”)
//继续;//跳过它
推(道具);
}
//把它们分类(见鬼)
props.sort();
返回道具。加入(“,”);
}
$('#modal body span2').html(getPropsAsString(电子邮件));
displaydatasharingModal.modal('show');
}
模态:

<!-- modal (Display Data Sharing) -->
    <div class="modal small hide fade" id="displaydatasharingModal" tabindex="-1" role="dialog" aria-labelledby="displaydatasharingModalLabel" aria-hidden="true">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h3 id="displaydatasharingModalLabel">Data shared with:</h3>
            </div>
            <div class="modal-body">  
                <p> Current access emails are: <p><span2></span2></p></p> 
            <p>some content</p>
            <input type="text" name="current_id" id="current_id" value=""/>            

        </div>
        <div class="modal-footer">
    </div>
</div>

×
与以下人员共享的数据:
当前访问的电子邮件是:

一些内容


我知道我的模式中有很多奇怪的东西,我希望能尽快解决。但我认为我的问题很基本。为什么我点击按钮时模式没有出现?!我正在做一些与以前编写的代码类似的工作。为什么它在这种情况下不起作用是令人困惑的。有一段时间我一直在为这个问题焦头烂额。帮帮我Enius!

您的JavaScript是在文档的底部还是顶部?如果它在顶部,您需要将其包装在
$(文档)中。准备就绪(函数(){…})
或按如下方式委托事件:

$(document).on('click', '#display', function(e) {

另一种可能性是:如果你有几个这样的按钮,它们需要有唯一的ID。JavaScript希望ID是唯一的,所以你的代码只是在HTML中找到的第一个这样的
#display
按钮上附加一个点击事件

如果在循环服务器端生成它们,则更容易为它们提供一个唯一的公共类:

<td><button type="button" class="btn-display btn btn-warning btn-small">Yes &raquo;</button></td>


检查控制台是否有错误?我看到缺少“;”
var displaydatasharingModal=$(“#displaydatasharingModal”)
感谢您的快速响应!JavaScript位于底部。尽管如此,我尝试了您的两个建议,但均无效。这是否与按钮位于循环中的事实有关?您是说您正在使用相同的
#display
ID创建多个按钮?是的,并尝试使用JS从php获取一个数组到a模式。谢谢你的有用建议。我现在正在重新设计,以尝试通过阵列。
$('.btn-display').click(function(e) {
$(document).on('click', '.btn-display', function(e) {