2017-02-11 28 views
0

我想創建一個頁面,在下拉框中顯示不同的時間(取決於選擇)。html.dropdownlistfor得到選定的值

我創建了頁面的下拉列表,但我不知道燙從中獲得選擇的值,並顯示在正確的時間在文本框中

這是我的模型:

namespace WebApplication2.Models { 
public class Countries 
{ 
    public List<Country> CountriesList = new List<Country>(); 
    public int SelectionID { get; set; } 
    public Countries() 
    { 
     Country CooseCountry = new Country { Name = "Choose country", ID = 1}; 
     Country Israel = new Country { Name = "Israel - Tel-Aviv", ID = 2}; 
     Country USA = new Country { Name = "USA - New -York", ID = 3}; 
     Country Germany = new Country { Name = "Germany - Berlin", ID = 4}; 
     CountriesList.Add(CooseCountry); 
     CountriesList.Add(Israel); 
     CountriesList.Add(USA); 
     CountriesList.Add(Germany); 
    } 

} } 

控制器:

public class TlvTimeController : Controller 
{ 
    public ActionResult Index() 
    { 
     ModelDateTime MyTime = new ModelDateTime(); 
     Countries CountriesList = new Countries(); 
     return View(CountriesList);       
    } 

} 

景觀:下面

@model WebApplication2.Models.Countries 
@{ 
    ViewBag.Title = "Index"; 
} 

<h2> 
    @Html.DropDownListFor(m => m.SelectionID, 
       new SelectList(Model.CountriesList, 
            "ID", "Name")) 

    @Html.Label("The time") 
</h2> 
<td> <input type="button" value="Show the time" id="ShowTime" /></td> 

The page in the browser

+0

,你需要處理按鈕的'.click()'事件並使用ajax將選定的值傳遞給一個控制器方法,該方法返回基於該值的時間(和'var selectedCountry = $('#SelectionID')。val );'返回所選選項的值) –

+0

所以你是n點擊按鈕後,你的下拉列表中沒有選定的值?我對嗎? –

+0

是的大衛,你的權利 – MrB

回答

0

您可以通過jQuery使用它的代碼可能對你有用:如果你想留在同一頁上

<html> 
    <head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    <script type="text/javascript" src="http://www.techtricky.com/wp-content/jquery/jquery.jclock.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(
     function() { 
      $("#zones").change(function(){ 
      if ($('#time-cont .time').length>0){ $('#time-cont .time').remove();} 
     var offset = $(this).val();  
      if (offset == '') return;  

     $('#time-cont').append('<div class="time"></div>'); 

      var options = { 
      format:'<span class=\"dt\">%A, %d %B %I:%M:%S %P</span>', 
      timeNotation: '12h', 
      am_pm: true, 
      fontFamily: 'Verdana, Times New Roman', 
      fontSize: '20px', 
      foreground: 'black', 
      background: 'yellow', 
      utc:true, 
      utc_offset: offset 
      } 

      $('#time-cont .time').jclock(options); 
     }); 
    }); 
    </script> 

    </head> 
    <body> 
    <select id="zones"> 
    <option value="">--Select--</option> 
    <option value="10">Australia</option> // Australia UTC offset value is 10 
    <option value="8">China</option> 
    <option value="5.5">India</option> 
    <option value="12">Newzealand</option> 
    <option value="0">UK</option> 
    <option value="-5">US EST</option> 

    </select> 
    <div id="time-cont"></div> 
    </body> 
</html> 
+0

謝謝,但我希望它的服務器端與asp.net – MrB

+0

你可以做,如果你認爲它的工作原理,至少可以upvote我的答案。 –

+0

另一種方法是,您可以從包含所有國家/地區的本地計算機獲取所有時區信息,並將其綁定到下拉列表中。想要你這個?那麼我可以幫你,如果你想。 –

相關問題