Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DropDownList用于onchange,但用于相同的值_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# DropDownList用于onchange,但用于相同的值

C# DropDownList用于onchange,但用于相同的值,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我试图触发onchange事件,即使它们选择的值与以前相同。我尝试过onselect,但它根本不会触发。如果值相同,则不会触发onchange。有没有其他模式可以让这成为可能 @Html.DropDownListFor(m => m.SelectedMarkdownDate, Model.ValidDatesSelectList, new{onchange = "LoadGridData(this);" }) 最终使用JQuery: var go = false; $('#Selecte

我试图触发onchange事件,即使它们选择的值与以前相同。我尝试过onselect,但它根本不会触发。如果值相同,则不会触发onchange。有没有其他模式可以让这成为可能

@Html.DropDownListFor(m => m.SelectedMarkdownDate, Model.ValidDatesSelectList, new{onchange = "LoadGridData(this);" })
最终使用JQuery:

var go = false;
$('#SelectedMarkdownDate').on('click',function() {//on click
    if (go) {//if go

        var date = $('#SelectedMarkdownDate option:selected').text();

        LoadGridData(date);

        go = false;//switch off

    } else { go = true; }//if !go, switch on
}).on('blur', function () { go = false; }); 

看起来你回答了你的问题,但是我已经做了一把小提琴,所以它在这里

您可以使用带有模糊的onClick事件来判断下拉列表是否打开,当您选择相同的项目时,它会向您发出警报,以证明它可以识别该事件


var dropboxOpen=false,
oldItem=null;
计数器=0;
函数onClick(e){
如果(dropboxOpen){
if(oldItem&&oldItem==e.target.value){
警报(“选择相同”)
}
oldItem=e.target.value;
dropboxOpen=false;
}否则{
dropboxOpen=true;
}
}
函数onBlur(e){
dropboxOpen=false;
}
沃尔沃汽车
萨博
欧宝
奥迪

哪个是正确的?没有任何更改,也没有triggercorrect,但是我想知道是否有其他方法可以获得此行为。您可以使用onclick事件吗?onclick行为不正确,因为在选择某个内容之前,只要单击下拉列表上的任何位置,它就会触发,而一旦选择某个内容,它就需要触发。mousedown也不起作用,因为您单击一次只打开下拉列表,导致它触发。您可以使用jquery添加事件吗?
<script>
  var dropboxOpen = false,
      oldItem     = null;
      counter       = 0;
  function onClick(e) {
      if (dropboxOpen) {
          if (oldItem && oldItem === e.target.value) {
              alert("same selected")
          }
          oldItem = e.target.value;
          dropboxOpen = false;
      }else{
        dropboxOpen = true;
      }

  }

  function onBlur(e){
    dropboxOpen = false;
  }
</script>


<select onclick="onClick(event)" onblur="onBlur(event)">
  <option value="volvo">volvo</option>
  <option value="saab">saab</option>
  <option value="opel">opel</option>
  <option value="audi">audi</option>
</select>