javascript - 将 Mottie 虚拟键盘附加到 ajaxcontroltoolkit 组合框

标签 javascript jquery asp.net combobox

当我在 ajaxcontroltoolkit 组合框中输入内容时,我试图显示 Mottie 虚拟键盘,有人有这方面的经验吗?我对 javascript/jquery 没有太多经验。

我正在尝试在 ASP.NET Webform 中执行此操作

我安装了所有 js 库,它可以在常规文本框或输入字段上工作,但我只是不知道如何将其连接到组合框或是否可以完成。

这是我正在编写的一段脚本:

<script type="text/javascript">
    $(document).ready(function () {
        $('#ComboBox1').keyboard({
                usePreview: false,
                autoAccept: true,
                enterNavigation: true,
                visible: function (e, keyboard, el) {
                    keyboard.$keyboard.prepend('<h2/>')
                        .draggable({
                            handle: "h2",
                            containment: "window"
                        });
                }
            })
            .addTyping();
    });
</script>

最佳答案

这是因为 ASP.NET AJAX Control Toolkit 创建的 ComboBox 输出如下 HTML:

<div id="ComboBox1" style="display:inline-block;">
  <table id="ComboBox1_Table" class="ajax__combobox_inputcontainer" style="border-width:0px;border-style:None;border-collapse:collapse;display:inline-block;position:relative;top:5px;" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="ajax__combobox_textboxcontainer"><input style="margin: 0px;" name="ctl00$ComboBox1$TextBox" id="ComboBox1_TextBox" autocomplete="off" type="text"></td>
        <td class="ajax__combobox_buttoncontainer"><button id="ComboBox1_Button" type="button" style="visibility: visible; height: 23px; width: 23px; margin: 0px; padding: 0px;"></button></td>
      </tr>
    </tbody>
  </table>
  <input name="ctl00$ComboBox1$HiddenField" id="ComboBox1_HiddenField" value="0" type="hidden">
</div>

生成的input[type=text]具有不同的ID。它将服务器的 ID 与 _Textbox 连接起来。

因此,在您的情况下,您必须使用 $('#ComboBox1_TextBox').keyboard 才能使其正常工作。例如:

<script type="text/javascript">
    $(document).ready(function () {
        $('#ComboBox1_TextBox').keyboard({
                usePreview: false,
                autoAccept: true,
                enterNavigation: true,
                visible: function (e, keyboard, el) {
                    keyboard.$keyboard.prepend('<h2/>')
                        .draggable({
                            handle: "h2",
                            containment: "window"
                        });
                }
            })
            .addTyping();
    });
</script>

关于javascript - 将 Mottie 虚拟键盘附加到 ajaxcontroltoolkit 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723554/

相关文章:

asp.net - 实时 Sitecore 网站的 Git 源代码控制策略

javascript - Transform() div 在点击时无法正常工作

jquery - 如何将 JS 添加到 Drupal 7

Javascript 计数器 - 如何添加更多值

javascript - 使用输入文件按钮上传图像或拖放文件

c# - 用于网络聊天的 WCF、SignalR 或 websockets

java - 来自网络浏览器的跨域调用

javascript - Bootstrap-select DropDownList 未显示

javascript - 在段落标记内为所选文本插入 HTML 标记

c# - 无法将类型 'System.Data.DataRowView' 的对象强制转换为类型 'System.Data.DataRow'