1

asp.net mvc に 3 つのハイパーリンク タグがあるとします。各タグには一意の id 属性があります。選択したハイパーリンクの id 属性の値をコントローラにポストするにはどうすればよいですか?

ハイパーリンクは次のようになります。

    <a href="#" id="1" onclick="jQuery('#dialog').dialog('open'); return false; ">A</a>
    <a href="#" id="2" onclick="jQuery('#dialog').dialog('open'); return false; ">B</a>
    <a href="#" id="3" onclick="jQuery('#dialog').dialog('open'); return false; ">C</a>

ダイアログは、画像をアップロードしてコントローラーに送信するためのフォームを開くだけです。

<script type="text/javascript">
$(function () {
    $("#dialog").dialog({
        bgiframe: true,
        height: 170,
        modal: true,
        autoOpen: false,
        resizable: false
    })
});

およびコントローラーメソッドの呼び出し:

<div id="dialog" title="A" >
          <% using (Html.BeginForm("myMethod", "Controller", new { @Id = Model.Id }, FormMethod.Post, new { enctype = "multipart/form-data" }))
               {%>
                <p><input type="file" id="fileUpload" name="fileUpload" style="width:23;"/> </p>
                <p><input type="submit" value="B" /></p>
          <% } %>

       </div>

Idを送るだけでいいというわけではありません。ただし、別のハイパーリンクが選択されている場合は、別のパラメーターを送信して、どちらが選択されているかを判断する必要があります。

4

1 に答える 1

0

このようなことをする

<a href="#" id="1" onclick="click(this);">A</a>
<a href="#" id="2" onclick="click(this)">B</a>
<a href="#" id="3" onclick="click(this)">C</a>
<script>
function click(a){
 var $a = $(a);
 //and do anything here
 //access the id like
 var id = $a.attr('id');
}
</script>
于 2012-11-30T17:54:14.253 に答える