2

次のフィールドを持つタブがあります

 <div id="tabs">
  <ul>
    <li><a href="#tabs-1">Tab1</a> </li>
    <li><a href="#tabs-2">Tab2</a></li>
    <li><a href="#tabs-3">Tab3</a></li>
    <li><a href="#tabs-4">Tab4</a></li>
  </ul>
  <div id="tabs-1">
     <b>Name</b>
  <input type="text" id="name"><br/>
  <b>Age</b>
  <input type="text" id="age"><br/>
    <input type="submit" value="next" id="submit"/>
  </div>
  <div id="tabs-2">
  <form name="nithin">

  </div>
   <div id="tabs-3">
    <p>Tab3</p>
  </div>
   <div id="tabs-4">
    <p>Tab4</p>
  </div>
</div> 
<input type="checkbox" name="tabs-2" value="2">tabs-2 
<input type="checkbox" name="tabs-3" value="3">tabs-3 
<input type="checkbox" name="tabs-4" value="4">tabs-4 
<br>

ここで、tab-1 には 2 つのフィールドがあります。この 2 番目のタブは、最初のタブの検証が完了した後にのみ有効にする必要があります。チェックボックスを使用して表示/非表示を選択できますが、有効になりません。どうすればよいですか? コードDEMOを見ることができます

4

1 に答える 1

2

この例でinput submitは、クラスはsubmitです。タブも変更しましたids(フィドルを参照)

フィドルhttp://jsfiddle.net/Spokey/2aQ2g/54/

$('.submit').click(function (e) {
    e.preventDefault(); //prevent from submission and do script instead
    //validation ....
    //if validation is okay, do below
    var nexttab = parseInt($(this).parent().next().attr('id').match(/\d+/g), 10);
    $('#tabs').tabs("enable", nexttab).tabs("select", nexttab);
    $('input[name="tabs-'+nexttab+'"]').removeAttr('disabled').prop('checked', true);
});
于 2013-04-19T14:36:03.697 に答える