2

私は ahref を持っています:

<a href="@Url.Action("downloadDocument", "NewService", new { serviceId = item.ServiceId })" id="download"  target="_blank">Download</a>  

そして、同じページに 1 つの選択オプションがあります。

<select class="required" data-val="true" id="DownloadValuesId" name="DownloadValuesId">
<option value="">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
<option value="5">option5</option>
</select>  

選択した値を、ahref から呼び出されるコントローラー関数のパラメーターとして送信するにはどうすればよいですか?

4

4 に答える 4

1

ドロップダウンから任意の値を選択するときに必要な場合は、任意のアクションを取得して、これを試してください。

HTML:

<select onchange = "redirect(this.value)" class="required" data-val="true" id="DownloadValuesId" name="DownloadValuesId">
<option value="">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
<option value="5">option5</option>
</select>

そしてJavaScript:

<script type="text/javascript">
       function redirect(dropDownValue) {
          window.location.href = '@Url.Action("Action", "Controller")/' + '?id=' + dropDownValue;
       }
</script>

編集:

ボタンを使用onclick="AnyFunction()"して値を送信するには、非表示の要素を取得します。最初に、その隠し要素にドロップダウン値を与えてから、onclick でアクションに送信します。

<a id="download" onclick="SendValue()" target="_blank">Download</a>

そしてjs:

   <script type="text/javascript">
       function redirect(dropDownValue) {
           document.getElementById('hiddenElement').value = dropDownValue;
       }

      function SendValue() {
           window.location.href = '@Url.Action("Action", "Controller")/' + '?id=' + document.getElementById('hiddenElement').value;
       }
   </script>

jquery を使用してこれを行うこともできます。

$.ajax({
  type: "POST", //or GET
  url: "@Url.Action("Action", "Controller")",
  data: "{ id : 'anyValue', serviceId : 'Any value'  }",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
    //do something
  }
});
于 2013-08-07T05:25:21.130 に答える
0

これを行うには 2 つの方法があります。

  1. フォームを使用し、その中に選択ボックスを配置して、リンクからフォームを送信します。そうすれば、サーバーは選択された値を取得します。

  2. Javascript を使用して、セレクト ボックスの選択が変更されたときに URL を動的に変更します。

可能であれば、最初のオプションを使用します。

于 2013-08-07T05:22:52.550 に答える
0

jquery で実行できます。以下を参照してください。

     <script>
       $('#DownloadValuesId').change(function(){
          var link = $('#download').attr('href');
          $('#download').attr('href') = link + "?id=" + $('#DownloadValuesId').val();
       });
     </script>

hope it helps.
于 2013-08-07T05:27:02.927 に答える