0

我有父页面,我想在其中显示一些从数据库中获取的结果。在表格结果区域上方,我有一些过滤器,还有一个名为 CONTACTFILTER 的按钮和一个隐藏的输入 CONTACT。当我按下 CONTACTFILTER 按钮时,会出现一个 Facebox 弹出窗口,其中包含一个可滚动的联系人列表,非常类似于 iphone 联系人样式。我为此使用了slidernav插件。

我在父页面中这样调用 facebox 弹出窗口:

$('#CONTACTFILTER').click(function () {
   $.facebox({ ajax: 'allcontacts.php' });
});

在 allcontacts.php 中,我有一个带有一长串联系人的 ul。我为此使用了 bqsic ul 和 li

<ul>
<li id="a"><a name="a" class="title">A</a>
    <ul>
        <li><a href="1">Adam</a></li>
        <li><a href="2">Alex</a></li>
        <li><a href="3">Ali</a></li>
        <li><a href="4">Apple</a></li>
        <li><a href="5">Arthur</a></li>
        <li><a href="6">Ashley</a></li>
    </ul>
</li>
<li id="b"><a name="b" class="title">B</a>
    <ul>
        <li><a href="7">Barry</a></li>
        <li><a href="8">Becky</a></li>
        <li><a href="9">Biff</a></li>
        <li><a href="10">Billy</a></li>
        <li><a href="11">Bozarking</a></li>
        <li><a href="12">Bryan</a></li>
    </ul>
</li>
</ul>

到现在一切都好...

我想要实现的是当点击像 Barry 这样的联系人时,facebox 弹出窗口应该关闭并将 value="7" 传输到父级的隐藏输入 CONTACT 之后,我将提交表单并在数据库记录上执行其余的魔法。

提前谢谢你们

4

1 回答 1

1

这将是一个简单的解决方案:

$(document).on('click', '#facebox a', function(evt) {
    evt.preventDefault();

    var userId = $(this).attr('href');
    $('#user-id-input').attr('value', userId);

    $(document).trigger('close.facebox');
});

这是一个工作示例:http: //jsfiddle.net/j35J3/

但我不建议将用户 ID 存储在 href 属性中。如果您使用 HTML 5,则可以使用自定义数据属性:

<a href="#" data-id="123">Name</a>

要访问示例中的 id:

var userId = $(this).data('id');
于 2013-05-24T11:56:22.700 回答