jQuery UI选项卡在选项卡单击和页面刷新时获取脚本

时间:2017-05-03 12:20:59

标签: jquery jquery-ui

首次测试个人项目的UI标签。包括我到目前为止所拥有的。我需要加载2个单独的脚本,当我单击Tab 2和Tab 3时会创建一个div。当我使用某个链接的onclick函数时,我在使用jQuery getScript之前这样做了。使用UI标签可以做类似的方式吗?如果是这样,怎么样?

<li><a onclick="loadTabtwo()">Tab 2</a></li>
<li><a onclick="loadTabthree()">Tab 3</a></li>

function loadTabtwo() {
     $.getScript("//tab2.js");
}
function loadTabthree() {
     $.getScript("//tab3.js");
}

这是我的功能,可以激活标签页并重新加载页面刷新页面。

jQuery(function($) {
    var index = 'qpsstats-active-tab';
    var dataStore = window.sessionStorage;
    var oldIndex = 0;
    try {
        oldIndex = dataStore.getItem(index);
    } catch(e) {} 
    $( "#tabs" ).tabs({
        active: oldIndex,
        activate: function(event, ui) {
            var newIndex = ui.newTab.parent().children().index(ui.newTab);
            try {
                dataStore.setItem( index, newIndex );
            } catch(e) {}
        }
    });
});

这是HTML

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Tab 1</a></li>
    <li><a href="#tabs-2">Tab 2</a></li>
    <li><a href="#tabs-3">Tab 3</a></li>
  </ul>

  <div id="tabs-1">
    <p>Tab 1 Content Here</p>
  </div>
  <div id="tabs-2">
    Load Script 2 Here - loadTabtwo()
  </div>
  <div id="tabs-3">
    Load Script 3 Here - loadTabthree()
  </div>
</div>

1 个答案:

答案 0 :(得分:1)

我相信这就是你想要的,但我不认为你已经拥有的是最佳实践,因为每次你点击选项卡它都会再次获得剧本

private void textBox2_KeyPress(object sender, KeyEventArgs e)
  {
      if (e.KeyCode == Keys.Enter)
      {
         iCBOMHDataGridView.DataSource = iCBOMHBindingSource;

            string input = textBox2.Text;
            string output = "";
            textBox2.Text = Regex.Replace(input, @"^\d{4}|[A-z]{2}[0-9]{5},|,|,|\d{|[0-9]{4}/....|\d{1,}\/\d{2,2}\/\d{4}|\s.........|\s|,|,|,|\d*?.$|[*?:/]\n|\r|\r\n", output);

               foreach (DataGridViewRow row in iCBOMHDataGridView.Rows)
               {
                if ((string)row.Cells[2].Value == textBox2.Text)
                    {
                        row.Selected = true;
                    }
                else
                    {
                        row.Selected = false;
                        MessageBox.Show("Part Number doesn't match");
                    }
               }

        }
    }