2017-12-11 5 views
0

私は2つのラジオボタンを持っています。私は達成したものが選択されているので別の場所に行きたいと思っていました。モデルからレイアウトにデータを渡す

$('input[type="radio"]').change(function() { 
      var se = $(this).val(); 
      if (se.length > 0 && se == "cid") { 
       window.location.href = "@Url.Action("index", "demo")"; 

      } 
      else { 
       window.location.href = "@Url.Action("index", "demo1")"; 
       } 
     }); 

しかし、ページload.Radioボタンがレイアウトビュー内でコード化された後、ラジオボタンが選択されたプロパティを保持されていません。そして、選択されたボタンタイプの値を保持するためのモデルクラスを作成しましたが、そのモデルをレイアウトビューに渡しているときには、 "null参照"型の例外があります。

私はちょうど私が答え更新したあなたの要求を1として

Subham

NathCorp、インド

答えて

0

にラジオボタンの選択を保持したい:にfollwingパラメータを追加してください

を必要に応じてDemo1とDemo2の両方のコントローラのインデックスアクションメソッド

public ActionResult Index(string se, string searchText) 
{ 
    //..... 
} 

テキストボックスとボタンにも「id」属性を追加してください。

<form action="/" method="get"> 
    <p style="color: white;" id="searchbarAnimate"> 
     <b>SEARCH:</b> 
     <input id="txtSearch" type="text" name="searchby" placeholder="Enter Keyword" /> 
     <input id="btnSearch" type="button" value="search" /> 
    </p> 
</form> 
<div> 
    <div> 
     <input name="se" type="radio" value="cid" /> 
     CID 
    </div> 
    <div> 
     <input name="se" type="radio" value="others" /> 
     Others 
    </div> 
</div> 


function getQueryStringValue(key) { 
    return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
} 

$(document).ready(function() { 
    var seQS = getQueryStringValue("se"); 
    if (seQS && seQS.length) { 
     $('input[name="se"][value="' + seQS + '"]').prop('checked', true); 
    } 

    var searchTextQS = decodeURIComponent(getQueryStringValue("searchText") || ''); 
    if (searchTextQS && searchTextQS.length) { 
     $('#txtSearch').val(searchTextQS); 
    } 

    function serachWords() { 
     var se = $('input[name="se"][type="radio"]:checked').val(); 
     var searchText = $('#txtSearch').val(); 

     if (se.length > 0 && se == "cid") { 
      window.location.href = '@Url.Action("index", "demo")?se=' + se + '&searchText=' + encodeURIComponent(searchText); 
     } else { 
      window.location.href = '@Url.Action("index", "demo1")?se=' + se + '&searchText=' + encodeURIComponent(searchText); 
     } 
    } 

    $('input[name="se"][type="radio"]').change(function() { 
     serachWords(); 
    }); 

    $('#btnSearch').click(function() { 
     serachWords(); 
    }); 
}); 

注:他のラジオボタンがページに存在する場合、name = "se"属性は必須です。

問題が発生した場合はお知らせください。

+0

@subham:WC :)。答えを受け入れてください。 https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Thulasiram

+0

もう1つ問題があります。 検索するキーワードを入力する検索バーがあります。テキストボックスと送信ボタンの両方がフォーム内にあります。しかし、私は任意の単語を検索すると、それはラジオボタンに基づいて別のコントローラに私を連れて行きます。 http://hawaiinairlines.azurewebsites.net/ リンクを確認してください。 キーワードだけでなく、選択したラジオボタンに応じて、さまざまなコントローラにアプリケーションを誘導したいだけです。 – subham

+0

@subham:このシナリオの質問は一例で更新できますか?それで私はそれに応じて答えを更新することができます... – Thulasiram

関連する問題