1

我目前遇到一个问题,我需要将值传递给 Jquery UI 对话框,但我不知道如何。我到处检查文档,但似乎没有任何效果。这就是我所拥有的(并且已经尝试过)

实际对话:

    <div id="amountDialog" title="Add to Basket">
        <table style="text-align: center">
            <tr>
                <td colspan="2">
                    <p id="productAdd"></p> <!-- need to set this value -->
                </td>
            </tr>
            <tr>
                <td>
                    <input type="text" id="modalInputAmount" />
                </td>
                <td>
                    <p id="maxAmt">Maximum Amount: </p>
                </td>
            </tr>
        </table>
    </div>

对话框选项:

$( "#amountDialog" ).dialog({ 
                        autoOpen: false, 
                        width: 'auto',
                        modal: true,
                        buttons : {
                            "OK" : execute
                        },
                        open : function (event, ui) {
                            $("#productAdd").val('How many [' + item + ']\'s do you wish to add to the basket?"'); <!-- item is the global variable describing which item is added to the basket -->
                        }
                    });

打开代码

    $("#amountDialog" ).dialog("open");

我不会费心在此处粘贴执行代码,因为我知道这是可行的,我可以从模式对话框中的文本框中获取值。然而,我担心的是,如何#productAdd在模式对话框打开时设置段落的值?

只需要再把它放在那里,我还是 JQuery 的新手。

4

2 回答 2

4

应该html()不是val(),改变:

$("#productAdd").val(...)

$("#productAdd").html(...);
于 2013-02-10T08:08:48.973 回答
0

你的问题是这#productAdd是一个段落(<p>)。jQuery 的val()方法只适用于表单域。使用htmltext代替。例如$('#productAdd').text("How many ...")

附带说明一下,您想重新考虑如何确定#productAdd的新内容。您现在拥有的parent().parent().find('specific thing')意味着您的脚本将在 HTML 更改后立即中断。

于 2013-02-10T08:26:21.473 回答