如何从FancyBox中获取下拉值?

时间:2013-03-13 19:32:25

标签: jquery fancybox-2

我一直在研究,现在需要一些投入。有人会告诉我调整是否会使此代码显示警报中的下拉值?当文本框值正确显示时,它当前显示为“未定义”。感谢。

file1.ftl

<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <button id="displayFancyboxButton">Display Fancybox</button>
    <#include "file2.ftl">
</body>
</html>

file2.ftl

<div id="theContents" style="display:none">
    <input id="textboxId" type="text" />
    <select id="dropdownId">
        <option value="Select">Select</option>
        <option value="first">one</option>
        <option value="second">two</option>
        <option value="third">three</option>
    </select>
    <button id="displayButtonId" id="save">Display</button>
</div>

<script type="text/javascript">
    $('#displayFancyboxButton').click(function(){
        $.fancybox.open({
            content: $('#theContents').html()
        });
        return false;
    });
    $("body").on("click","button[id=displayButtonId]",function(){
        var textboxVal = $('.fancybox-inner input[id="textboxId"]').val();
        var dropdownVal = $('.fancybox-inner input[id="dropdownId"]').val();
        alert('textboxVal=' + textboxVal + ", dropdownVal=" + dropdownVal);
    });
</script>

1 个答案:

答案 0 :(得分:1)

我将选择器更改为:

var dropdownVal = $('#dropdownId').val();

你所采取的路线最终需要这样:

var dropdownVal = $('.fancybox-inner select[id="dropdownId"]').val();

选择器需要选择 [id =“dropdownId”]而不输入[id =“dropdownId”],因为您使用的是select标记而不是输入标记。

然而,这种方法有点复杂。因为dropDownId是页面上的唯一ID,所以您的选择器只需要引用它而不是fancybox-inner或select / input。

希望有所帮助。