Hi,
I tested a web application with kendo (the last version 2014.1.318), this app works fine in Chrome but in Firefox the behaviour is strange, for example the dropdownlist works fine until I search and the data shown in the kendo grid, after the search the dropdownlist doesn't show the items or show and hide they very fast.
I put an example of how scripts I import and how I used them.
Thanks for the help.
Regards
I tested a web application with kendo (the last version 2014.1.318), this app works fine in Chrome but in Firefox the behaviour is strange, for example the dropdownlist works fine until I search and the data shown in the kendo grid, after the search the dropdownlist doesn't show the items or show and hide they very fast.
I put an example of how scripts I import and how I used them.
<link rel="stylesheet" href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css")"type="text/css" /> <link rel="stylesheet" href="@Url.Content("~/Content/kendo/2014.1.318/kendo.default.min.css")"type="text/css" /> <script src="@Url.Content("~/Scripts/kendo/2014.1.318/jquery.min.js")"type="text/javascript"></script> <script src="@Url.Content("~/Scripts/kendo/2014.1.318/kendo.all.min.js")"type="text/javascript"></script> <script src="@Url.Content("~/Scripts/kendo/2014.1.318/kendo.aspnetmvc.min.js")"type="text/javascript"></script>@{ ViewBag.Title = "Control Interno"; Layout = "~/Views/Home/PaginaInicio.cshtml";}<h2 class="Cabecera">Control interno</h2><div> <table style="font-size: x-small" align="center"> <tr> <td> <label for="start">Desde: </label><label class="obligatorio">*</label> @(Html.Kendo().DatePicker().Name("txtFechaInicio").Events(e => e.Change("startChange")).Value(ViewBag.Fecha)) </td> <td> <label for="end" style="margin-left:3em">Hasta: </label><label class="obligatorio">*</label> @(Html.Kendo().DatePicker().Name("txtFechaFin").Events(e => e.Change("endChange")).Value(ViewBag.Fecha)) </td> </tr> </table> <br /> <table style="font-size: x-small" align="center"> <tr> <td> <label>Tipo de control</label> @(Html.Kendo().DropDownList() .Name("tipocontrol") .OptionLabel("Todos") .DataTextField("NOMBRE_TIPOCONTROL") .DataValueField("ID") .AutoBind(false) .DataSource(source => { source.Read(read => { read.Action("ToolbarTemplate_TipoControl", "Consultas"); }); }) ) </td> <td> <label> Mostrar registros: </label> @(Html.Kendo().DropDownList() .Name("tipocaso") .OptionLabel("Todos") .DataTextField("NOMBRE_TIPOCASO") .DataValueField("ID") .AutoBind(false) .DataSource(source => { source.Read(read => { read.Action("ToolbarTemplate_TipoCaso", "Consultas"); }); }) ) </td> </tr> </table> <br /> <p> <label class="obligatorio">(*) Campo obligatorio</label> </p> <br /> <table style="font-size: x-small" align="center"> <tr> <td> @*<input type="Button" value="Buscar" onclick="BindGrid();" class="BotonBuscar" />*@ <button type="button" id="btnSearch" onclick="BindGrid();" value="Buscar" class="k-button" > <img src="../../Images/Buscarboton.png" /> </button> </td> </tr> </table> </div><br /> <div> <table style="font-size: x-small" align="center" id="tabDato"> <tr> <td class="etiquetas1" align="right"> <label><strong>Desde: </strong></label> </td> <td class="etiquetas2"> <label id="lblDesde"></label> </td> <td class="etiquetas1" align="right"> <label><strong>Hasta: </strong></label> </td> <td class="etiquetas2"> <label id="lblHasta"></label> </td> </tr> <tr> <td class="etiquetas1" align="right"> <label><strong>Tipo de control: </strong></label> </td> <td class="etiquetas2"> <label id="lblControl"></label> </td> <td class="etiquetas1" align="right"> <label><strong>Mostrar registros: </strong></label> </td> <td class="etiquetas2"> <label id="lblCaso"></label> </td> </tr> </table></div><br /> @model IEnumerable< SIS_CSC.ViewMoldels.ControlInternoViewData><div style="font-size:xx-small"> @(Html.Kendo().Grid(Model) .Name("Grid") .Columns(columns => { columns.Template(t => { }).Title("N°").ClientTemplate("#= renderRecordNumber(data) #").Width(40); columns.Bound(p => p.ID_SOLICITUDSERVICIO).Visible(false); columns.Bound(p => p.NOMBRE_CLIENTE).Title("Cliente"); columns.Bound(p => p.SFECHA_SOLICITOSERVICIO).Title("Fecha"); columns.Command(command => command.Custom("custom").Text("").Click("MostrarSolicitud")).Title("N° de solicitud").Width(75); columns.Bound(p => p.SERIE_EQUIPO).Title("N° de serie"); columns.Bound(p => p.NOMBRE_TECNICO).Title("Técnico"); columns.Bound(p => p.NOMBRE_UNIDADNEGOCIO).Title("Siglas"); columns.Bound(p => p.SUGERENCIA_TECNICO).Title("Sugerencia del técnico"); columns.Bound(p => p.OBSERVACION_CLIENTE).Title("Observación del cliente"); columns.Bound(p => p.SUGERENCIA_INTERNA).Title("Sugerencia interna"); columns.Bound(p => p.CASO_CERRADO).Visible(false); columns.Command(command => command.Custom("Gestionar").Text("").Click("GestionarCI")).Title("Gestionar").Width(75); }) .Filterable() .Sortable() .Pageable(m => m.PageSizes(new int[] { 10, 20, 50, 100 })) .Groupable() .Events(e => e.DataBound("dataBound")) .Scrollable(s => s.Height("auto")) .TableHtmlAttributes(new { style = "table-layout: fixed;" }) .Resizable(r => r.Columns(true)) .DataSource(dataSource => dataSource .Ajax() .Events(ev => { ev.RequestStart("Load"); ev.RequestEnd("Ready"); }) .Read(read => read.Action("LeerExt_ControlInterno", "Consultas").Data("getParameter")) .Model(model => { model.Id(p => p.ID_SOLICITUDSERVICIO); }) ) .ToolBar(toolBar => toolBar.Custom() .Text("Exportar a PDF") .HtmlAttributes(new { id = "export" }) .Url(Url.Action("ExportarPDFControlInterno", "Consultas", new { page = 1, pageSize = "~", filter = "~", sort = "~", txtFechaInicio = "~", txtFechaFin = "~", tipocontrol = "0", tipocaso = "0", nombre_control = "Todos", nombre_caso = "Todos" })) ) .ToolBar(toolBar => toolBar.Custom() .Text("Exportar a Excel") .HtmlAttributes(new { id = "exportex" }) .Url(Url.Action("ExportarExcelControlInterno", "Consultas", new { page = 1, pageSize = "~", filter = "~", sort = "~", txtFechaInicio = "~", txtFechaFin = "~", tipocontrol = "0", tipocaso = "0", nombre_control = "Todos", nombre_caso = "Todos" })) ) )</div><div> @(Html.Kendo().Window() .Name("Rates") .Title("Solicitud de servicio") .Visible(false) .Modal(true) .Draggable(true) .Width(800) .Height(600) .Events(e => { e.Open("onOpen"); e.Refresh("onRefresh"); }))</div><div> @(Html.Kendo().Window() .Name("GCI") .Title("Gestionar control interno") .Visible(false) .Modal(true) .Draggable(true) .Width(600) .Height(400) .Events(e => { e.Open("onOpen"); e.Refresh("onRefresh"); }))</div><div> @(Html.Kendo().Window() .Name("CCI") .Title("Control interno") .Visible(false) .Modal(true) .Draggable(true) .Width(600) .Height(400) .Events(e => { e.Open("onOpen"); e.Refresh("onRefresh"); }))</div><script type="text/javascript"> function Load(e) { kendo.ui.progress($("#Grid"), true); } function Ready(e) { kendo.ui.progress($("#Grid"), false); } function onOpen(e) { kendo.ui.progress(e.sender.element, true); } function onRefresh(e) { kendo.ui.progress(e.sender.element, false); }</script><script type="text/javascript"> var rowNumber = 1; var flag = false; function resetRowNumber(e) { rowNumber = 1; } function renderRecordNumber(data) { var page = parseInt($("#Grid").data("kendoGrid").dataSource.page()) - 1; var pagesize = $("#Grid").data("kendoGrid").dataSource.pageSize(); return parseInt(rowNumber++ + (parseInt(page) * parseInt(pagesize))); }</script> <script type="text/javascript"> $(document).ready(function () { OcultarControl("tabDato", true); }); function CambiarTexto() { var desde = $("#txtFechaInicio").val(); var hasta = $("#txtFechaFin").val(); var tipocontrol = $("#tipocontrol").data("kendoDropDownList").text(); var tipocaso = $("#tipocaso").data("kendoDropDownList").text(); $("#lblDesde").text(desde); $("#lblHasta").text(hasta); $("#lblControl").text(tipocontrol); $("#lblCaso").text(tipocaso); OcultarControl("tabDato", false); }</script><script type="text/javascript"> function dataBound(e) { //var pageSizes = [{ text: "10", value: 10 }, { text: "20", value: 20 }, { text: "50", value: 50 }, // { text: "100", value: 100 }, { text: "Todo", value: 1000000 }]; //$('.k-pager-sizes select[data-role="dropdownlist"]').data('kendoDropDownList') // .setDataSource(new kendo.data.DataSource({ data: pageSizes })); resetRowNumber(e); var rows = this.table.find("tr[role='row']"); for (var i = 0; i < rows.length; i++) { var model = this.dataItem(rows[i]); $(rows[i]).find(".k-grid-custom").contents().last()[0].textContent = model.CODIGO_SOLICITUDSERVICIO; if (model.CASO_CERRADO == false || model.CASO_CERRADO == null) { $(rows[i]).find(".k-grid-Gestionar").contents().last()[0].textContent = "Gestionar"; } else { $(rows[i]).find(".k-grid-Gestionar").contents().last()[0].textContent = "Cerrado"; } } var grid = $('#Grid').data('kendoGrid'); var requestObject = (new kendo.data.transports["aspnetmvc-server"]({ prefix: "" })) .options.parameterMap({ page: grid.dataSource.page(), sort: grid.dataSource.sort(), filter: grid.dataSource.filter(), txtFechaInicio: $("#txtFechaInicio").val(), txtFechaFin: $("#txtFechaFin").val(), tipocontrol: $("#tipocontrol").val(), tipocaso: $("#tipocaso").val(), nombre_control: $("#tipocontrol").data("kendoDropDownList").text(), nombre_caso: $("#tipocaso").data("kendoDropDownList").text() }); // EXPORTAR A PDF var $exportLink = $('#export'); var href = $exportLink.attr('href'); href = href.replace(/page=([^&]*)/, 'page=' + requestObject.page || '~'); href = href.replace(/sort=([^&]*)/, 'sort=' + requestObject.sort || '~'); href = href.replace(/pageSize=([^&]*)/, 'pageSize=' + grid.dataSource.total()); href = href.replace(/filter=([^&]*)/, 'filter=' + (requestObject.filter || '~')); href = href.replace(/txtFechaInicio=([^&]*)/, 'txtFechaInicio=' + (requestObject.txtFechaInicio || "")); href = href.replace(/txtFechaFin=([^&]*)/, 'txtFechaFin=' + (requestObject.txtFechaFin || "")); href = href.replace(/tipocontrol=([^&]*)/, 'tipocontrol=' + (requestObject.tipocontrol || "")); href = href.replace(/tipocaso=([^&]*)/, 'tipocaso=' + (requestObject.tipocaso || "")); href = href.replace(/nombre_control=([^&]*)/, 'nombre_control=' + (requestObject.nombre_control || "")); href = href.replace(/nombre_caso=([^&]*)/, 'nombre_caso=' + (requestObject.nombre_caso || "")); $exportLink.attr('href', href); // EXPORTAR A EXCEL var $exportLinkex = $('#exportex'); var hrefex = $exportLinkex.attr('href'); hrefex = hrefex.replace(/page=([^&]*)/, 'page=' + requestObject.page || '~'); hrefex = hrefex.replace(/sort=([^&]*)/, 'sort=' + requestObject.sort || '~'); hrefex = hrefex.replace(/pageSize=([^&]*)/, 'pageSize=' + grid.dataSource.total()); hrefex = hrefex.replace(/filter=([^&]*)/, 'filter=' + (requestObject.filter || '~')); hrefex = hrefex.replace(/txtFechaInicio=([^&]*)/, 'txtFechaInicio=' + (requestObject.txtFechaInicio || "")); hrefex = hrefex.replace(/txtFechaFin=([^&]*)/, 'txtFechaFin=' + (requestObject.txtFechaFin || "")); hrefex = hrefex.replace(/tipocontrol=([^&]*)/, 'tipocontrol=' + (requestObject.tipocontrol || "")); hrefex = hrefex.replace(/tipocaso=([^&]*)/, 'tipocaso=' + (requestObject.tipocaso || "")); hrefex = hrefex.replace(/nombre_control=([^&]*)/, 'nombre_control=' + (requestObject.nombre_control || "")); hrefex = hrefex.replace(/nombre_caso=([^&]*)/, 'nombre_caso=' + (requestObject.nombre_caso || "")); $exportLinkex.attr('href', hrefex); } function MostrarSolicitud(e) { e.preventDefault(); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var direction = "/Consultas/SomeAction/" + dataItem.ID_SOLICITUDSERVICIO; var wnd = $("#Rates").data("kendoWindow"); if (!wnd) { // first click of the button - will automatically fetch the contentUrl wnd = $("#Rates").kendoWindow({ title: "Solicitud de servicio", actions: ["Close"], content: direction, visible: false, modal: true }).data("kendoWindow"); } wnd.refresh(direction); wnd.center(); wnd.open(); } function GestionarCI(e) { e.preventDefault(); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var direction = "/Consultas/GestionarControlInterno/" + dataItem.ID_SOLICITUDSERVICIO; if (dataItem.CASO_CERRADO == false || dataItem.CASO_CERRADO == null) { var wnd = $("#GCI").data("kendoWindow"); if (!wnd) { // first click of the button - will automatically fetch the contentUrl wnd = $("#GCI").kendoWindow({ title: "Gestionar control interno", actions: ["Close"], content: direction, visible: false, modal: true }).data("kendoWindow"); } } else { var wnd = $("#CCI").data("kendoWindow"); if (!wnd) { // first click of the button - will automatically fetch the contentUrl wnd = $("#CCI").kendoWindow({ title: "Control interno", actions: ["Close"], content: direction, visible: false, modal: true }).data("kendoWindow"); } // wnd1.refresh(direction); // wnd1.center(); // wnd1.open(); } wnd.refresh(direction); wnd.center(); wnd.open(); }</script><script type="text/javascript"> function getParameter() { return { txtFechaInicio: $("#txtFechaInicio").val(), txtFechaFin: $("#txtFechaFin").val(), tipocontrol: $("#tipocontrol").val(), tipocaso: $("#tipocaso").val(), bandera: flag }; } function BindGrid() { flag = true; CambiarTexto(); $("#Grid").data("kendoGrid").dataSource.read(); $("#Grid").data("kendoGrid").refresh(); }</script><script type="text/javascript"> function startChange() { var endPicker = $("#txtFechaFin").data("kendoDatePicker"), startDate = this.value(); if (startDate) { startDate = new Date(startDate); startDate.setDate(startDate.getDate()); endPicker.min(startDate); } } function endChange() { var startPicker = $("#txtFechaInicio").data("kendoDatePicker"), endDate = this.value(); if (endDate) { endDate = new Date(endDate); endDate.setDate(endDate.getDate()); startPicker.max(endDate); } }</script>Thanks for the help.
Regards