包含母版页的可编辑下拉列表无效 [英] Editable dropdown list with master page is not working

查看:94
本文介绍了包含母版页的可编辑下拉列表无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在下面的脚本中使用了可编辑的下拉列表,并且在没有母版页的情况下工作正常,但是当我将它应用于母版页时,它无法正常工作。任何人都可以提供帮助。





< script type =text / javascriptsrc =https://code.jquery .com / jquery-1.10.2.js>< / script>

< script type =text / javascriptsrc =https://code.jquery.com/ui /1.11.4/jquery-ui.js\"></script>





I m using below script for editable drop down list and it is working fine with without master page but when i apply this with master page it is not working. can anybody help on this.


<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>


<script type="text/javascript">
      (function ($) {
          

          $.widget("custom.combobox", {
              _create: function () {
                  this.wrapper = $("<span>")
            .addClass("custom-combobox")
            .insertAfter(this.element);

                  this.element.hide();
                  this._createAutocomplete();
                  this._createShowAllButton();
              },

              _createAutocomplete: function () {
                  var selected = this.element.children(":selected"),
            value = selected.val() ? selected.text() : "";

                  this.input = $("<input>")
            .appendTo(this.wrapper)
            .val(value)
            .attr("title", "")
            .addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left")
            .autocomplete({
                delay: 0,
                minLength: 0,
                source: $.proxy(this, "_source")
            })
            .tooltip({
                tooltipClass: "ui-state-highlight"
            });

                  this._on(this.input, {
                      autocompleteselect: function (event, ui) {
                          ui.item.option.selected = true;
                          this._trigger("select", event, {
                              item: ui.item.option
                          });
                      },

                      autocompletechange: "_removeIfInvalid"
                  });
              },

              _createShowAllButton: function () {
                  var input = this.input,
            wasOpen = false;

                  $("<a>")
            .attr("tabIndex", -1)
            .attr("title", "Show All Items")
            .tooltip()
            .appendTo(this.wrapper)
            .button({
                icons: {
                    primary: "ui-icon-triangle-1-s"

                },
                text: false
            })
            .removeClass("ui-corner-all")
            .addClass("custom-combobox-toggle ui-corner-right")
            .mousedown(function () {
                wasOpen = input.autocomplete("widget").is(":visible");
            })
            .click(function () {
                input.focus();

                // Close if already visible
                if (wasOpen) {
                    return;
                }

                // Pass empty string as value to search for, displaying all results
                input.autocomplete("search", "");
            });
              },

              _source: function (request, response) {
                  var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
                  response(this.element.children("option").map(function () {
                      var text = $(this).text();
                      if (this.value && (!request.term || matcher.test(text)))
                          return {
                              label: text,
                              value: text,
                              option: this
                          };
                  }));
              },

              _removeIfInvalid: function (event, ui) {

                  // Selected an item, nothing to do
                  if (ui.item) {
                      return;
                  }

                  // Search for a match (case-insensitive)
                  var value = this.input.val(),
            valueLowerCase = value.toLowerCase(),
            valid = false;
                  this.element.children("option").each(function () {
                      if ($(this).text().toLowerCase() === valueLowerCase) {
                          this.selected = valid = true;
                          return false;
                      }
                  });

                  // Found a match, nothing to do
                  if (valid) {
                      return;
                  }

                  // Remove invalid value
                  this.input
            .val("")
            .attr("title", value + " didn't match any item")
            .tooltip("open");
                  this.element.val("");
                  this._delay(function () {
                      this.input.tooltip("close").attr("title", "");
                  }, 2500);
                  this.input.autocomplete("instance").term = "";
              },

              _destroy: function () {
                  this.wrapper.remove();
                  this.element.show();
              }
          });
      })(jQuery);

      $(function () {
          $("#combobox").combobox();
          $("#toggle").click(function () {
              $("#combobox").toggle();
          });
      });
  </script>





我尝试过:



i试图在母版页中获得控制值,如下所示:

var combobox = document.getElementById('<%= this.ContentPlaceHolder1.FindControl(combobox) ).ClientID%>');



但它不起作用



What I have tried:

i have tried to get control value in master page as below:
var combobox = document.getElementById('<%= this.ContentPlaceHolder1.FindControl("combobox").ClientID %>');

but it is not work

推荐答案

){


.widget( custom.combobox,{
_create: function (){
this .wrapper =
.widget("custom.combobox", { _create: function () { this.wrapper =


< span>
.addClass(< span class =code-string> custom-combobox
.insertAfter(这个 .element);

.element.hide();
this ._ createAutocomplete();
this ._ createShowAllButton();
},

_createAutocomplete: function (){
var selected = this .element.children( :选择),
value = selected.val()? selected.text(): ;

this .input =
("<span>") .addClass("custom-combobox") .insertAfter(this.element); this.element.hide(); this._createAutocomplete(); this._createShowAllButton(); }, _createAutocomplete: function () { var selected = this.element.children(":selected"), value = selected.val() ? selected.text() : ""; this.input =


这篇关于包含母版页的可编辑下拉列表无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆