簡體   English   中英

Java腳本未在ASP.NET MVC中調用

[英]java script not calling in ASP.NET MVC

我有麻煩了。

我的mvc應用程序中具有以下視圖:

@model Radio_Management_Interface.Models.Blocks.blocks_create

@{
 ViewBag.Title = "Create Block";
 Layout = "~/Views/Shared/_Layout_main.cshtml";
}

<script>
 function getSelectedValue(sel) {
    window.alert("You change the combo box");
}
</script>


<div class="contenttitle">
  <h2 class="form"><span>Create A New Block</span></h2>
</div><!--contenttitle-->
@using (Html.BeginForm("Create", "Blocks", FormMethod.Post, new { @class = "stdform" }))
{
 @Html.AntiForgeryToken()
 <hr />
 @Html.ValidationSummary(true)

<p>
    <label>Select Network</label>
    <span class="field">
        <select name="select" onclick="getSelectedValue">
            @foreach (var item in Model.networks)
            {
                <option value="@item.networkID">@Html.DisplayFor(modelItem => item.name)</option>
            }
        </select>
    </span>
    @Html.ValidationMessageFor(model => model.block.start)
    <small class="desc">Name of the customer.</small>
</p>

需要關注的具體部分是:

<select name="select" onclick="getSelectedValue">

為什么不調用此事件? 當我在網站上的select元素中更改選項時,我的JavaScript文件無法運行。 為什么會這樣呢?

您想使用onchange事件,而不是onclick事件,並將其傳遞給您的方法所期望的參數:

HTML:

<select name="select" onchange="getSelectedValue(this)">

JS:

function getSelectedValue(sel) {
    window.alert(document.getElementById(sel.value));
}

我認為您缺少括號,也應該是更改事件-onchange =“ getSelectedValue()”

選擇使用更改事件而不是onclick。

您可以使用jQuery這樣連接事件:

<script>
$( "select" )
  .change(function () {
    var str = "";
    $( "select option:selected" ).each(function() {
      str += $( this ).val() + " ";
    });
    window.alert( str );
  })
  .change();
</script>

http://api.jquery.com/change/

jQuery的特性並不突出,因此不會將功能與html混合使用,並且可以優雅地處理錯誤,而不是使用嵌入到html中的方法。

暫無
暫無

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

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