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>
4

1 に答える 1

1

セレクターを次のように変更しました。

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

あなたが通っていたルートは、次のようになる必要がありました。

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

入力タグの代わりに選択タグを使用していたため、セレクターは選択[id="dropdownId"] であり、input[id="dropdownId"] ではない必要がありました。

ただし、このアプローチは少し複雑です。dropDownId はページ上の一意の ID であるため、セレクターはそれを参照するだけでよく、fancybox-inner または select/input は必要ありません。

それが役立つことを願っています。

于 2013-03-13T20:00:01.527 に答える