在MVC中使用jQuery传递隐藏值

时间:2015-02-26 17:24:06

标签: javascript jquery asp.net-mvc

我的MVC控制器传递模型以下列形式进行查看

    public class LibaryModel
    {
        public int LibaryId { get; set; }

        public string[] Books { get; set; }
    }

这是我的LibraryView.cshtml

 @model IEnumerable<LibaryModel>
    <table id="myTable" class="table-bordered">
        <thead>
            <tr>
                <th>Libary Id</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var library in Model)
            {
                <tr>
                    <td>@library.LibaryId</td>
                </tr>
            }
        </tbody>
    </table>

现在,在点击库ID时,我需要显示另一个div,其中包含该库中的书籍列表。我能够获得click事件的行号和列号,但是我无法找到从jQuery获取libary中的书籍列表的方法。有什么模式可以解决这个问题吗?

 $("#myTable td").on('click', function () {
        var column_num = parseInt($(this).index()) + 1;
        var row_num = parseInt($(this).parent().index()) + 1;

    });

2 个答案:

答案 0 :(得分:0)

我建议在你的td中点击事件的函数中使用LibraryId。

foreach (var library in Model)
{
    <tr>
        <td onclick="getHiddens(@library.LibraryId)">@library.LibaryId</td>
    </tr>
}

并提供你的书籍#39;隐藏输入包含其库的LibraryId

的类
for (var i = 0; i < library.Books.Length; i++)
{
    <input type="hidden" class="book@library.LibraryId" value="@library.Books[i]" />
}

然后将LibraryId作为参数发送到一个函数中,该参数按类获取所有匹配的输入,并使用输入的值执行某些操作,例如,将其加载到div中。

var getHiddens = function (libraryId) {
    var books = document.getElementsByClassName("book" + libraryId);


    var bookDiv = document.getElementById("bookDiv");

    bookDiv.innerHTML = "<ul>";
    for (var i = 0; i < books.length; i++) {
        bookDiv.innerHTML += "<li>" + books[i].value + "</li>";
    }
    bookDiv.innerHTML += "</ul>";
}

答案 1 :(得分:0)

请检查我的代码。

 @foreach (var library in Model)
            {
                <tr>
                    <a href="javascript:void(0)" 
                    onclick="GoToInsured('@library.LibaryId');">
               </tr>
            }

function GoToInsured(LibaryId)
{
 //This LibaryId is current selected row ID.You can open new Diva per 
  LibaryId. You can get Library details as per LibaryId and you can display 
  that data on Popup or any place you want.
}

告诉我您对我的代码有任何疑问。

谢谢。