簡體   English   中英

標簽中的事件使用javascript函數間歇性地選擇工作

[英]Event in tag Select work intermittently with javascript function

每次在組合中選擇一個項目時,我都在使用javascript執行ajax請求。 為此,Select標記將執行Onchange事件。

但我無法調用間歇運行的js函數。 有時值會更改並且功能不會執行。

這是每次選擇更改時應執行的JS代碼段:

 $(document).ready(function () { $('.tbl select.detalhes').change(function () { if ($(this).val() != "") { var id = $(this).val(); AjaxCall(urlPrefix + 'Detalhe.aspx/Ficha', '{ id: ' + id + ' }', function (data) { carregarFicha(data); }); $(this).prop('selectedIndex', 0); } }); 

我在@section Head中插入js的源cshtml

 @model IList<Round> @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/SiteLayout.cshtml"; } @section Head { <script src="@Url.NonCached("~/Scripts/Index.js")" type="text/javascript"></script> } @if (Model != null && Model.Count > 0) { <h2>Rodada</h2> var textoRodadas = @Model.Count > 0 ? "Rodadas encontradas" : "Rodada encontrada"; <span class="total-registros"> <strong>@Model.Count</strong> @textoRodadas</span> <table border="0" cellpadding="0" cellspacing="0" class="tbl" id="table-round"> <thead> <tr> <th scope="col" class="ord">Rodada</th> <th scope="col" class="ord">Data Inicial</th> <th scope="col" class="ord">Data Final</th> <th scope="col" width="150" class="ord tits-th col-escura ">Regras</th> </tr> </thead> <tbody> @for (int i = 0; i < Model.Count; i++) { var item = Model[i]; var classe = "class=\\"" + item.Tipo.ToString(); if (item.Protegido == SimNao.Sim) { classe += " protegido "; } classe += i % 2 == 0 ? "\\"" : " odd\\""; var permitirCriarRegraComLances = !(item.Tipo == App.AdjudicacaoInicial); <tr @Html.Raw(classe) > <td class="tbl-nomeTipo-round") "> @Html.Hidden("id", item.Id) <span class="click-round tbl-nome-round">@item.Nome</span> </td> <td class="click-round tbl-data-round"> @item.DataInicio.ToString("dd/MM/yyyy") </td> <td class="click-round tbl-data-round"> @item.DataFim.ToString("dd/MM/yyyy") </td> <td class="col-escura"> <div class="grid-12-12 form"> @{ var regras = item.Regras.OrderBy(t => t.Nome).ToArray(); } <span class="txt-maior ">@regras.Length</span> @if (regras.Length > 0) { <select class="form-txt regras" id="reg1" onchange="mudou(this)"> <option value="" >Selecione</option> @foreach (var reg in regras) { <option value="@reg.Id">@reg.Nome</option> } </select> } </div> </td> </tr> } </tbody> </table> } else { <span>Sem resultados</span> } 

該應用程序僅適用於Firefox,並且該代碼可以正常工作,直到該公司使用60.7.0版更新了一些客戶端。 此特定版本應該引起問題。 我們無法使用其他版本更新所有客戶端。

會有人建議如何解決這個問題嗎?

嘗試使用以下兩種方法:

方法1:

嘗試這個-

 $('select').on('change', function() { //Add your logic console.log( this.value ); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option value="1">Test 1</option> <option value="2">Test 2</option> </select> 

方法:2

 function getval(sel) { //Add your logic console.log( sel.value ); } 
 <select onchange="getval(this);"> <option value="1">Test 1</option> <option value="2">Test 2</option> </select> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM