jquery选项卡和js加载内容

时间:2012-07-19 17:55:30

标签: javascript jquery asp.net-mvc asp.net-mvc-3

我正在尝试将jquery ui标签与js和mvc3一起使用。

   <div class="demo">
        <div id="tabs">
            <ul>
                <li><a href="#tabs-1">Tab One</a></li>
                <li><a href="#tabs-2">Tab Two</a></li>
            </ul>
            <div id="tabs-1">
                <p>  </p>
            </div>
            <div id="tabs-2">
                <p>  </p>
            </div>
        </div>
   </div>

JsFile

function GetTabData(xdata) {
    $.ajax({
        url: ('/Home/GetTabData'),
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify({ id: xdata }),

        success: function (result) {
            alert("OK !");
        },
        error: function () { alert("error"); }
    });
}

MVC3

public ActionResult GetTabData(string xdata)
{
    data = fetch data and return to the calling script    
    return PartialView("_TabDataPartial", data);
}

所以问题将是非常基本的,如何使用TabOne和TabTwo绑定js GetTabData()调用

感谢。

2 个答案:

答案 0 :(得分:1)

尝试:

 $('a').click(function(e) { 
  e.preventDefault();   
  alert($(this).attr('href'));
 //Call GEtdata here
});

您还需要更改此

 public ActionResult GetTabData(string xdata)

 public ActionResult GetTabData(string id)

通过id来电

data发送ajax

答案 1 :(得分:0)

您可以利用HTML5数据属性并按以下方式定义链接​​:

 <a href="#tabs-1" data-tabId="1" class="tabLink">Tab One</a>

然后在你的js中绑定on click事件以执行以下操作:

$('.tabLink').on('click', function() {
    var id = $(this).data('tabId');
    GetTabData(id);
});