jQuery手风琴 - 为活跃的手风琴设置输入焦点?
问题描述:
**没关系。我想到了。 **jQuery手风琴 - 为活跃的手风琴设置输入焦点?
我做了这样的:
$("#accordion").accordion({
header:'h3',
active: '#section1',
autoheight: false,
clearstyle: true,
}).bind("change.ui-accordion", function(event,ui) {
$("#text1").focus();
});
我有一个可折叠的所有设置,每个div有内它的形式。我只是想弄清楚如何设置注重根据输入字段上哪一个是开放...
/* accordion */
$("#accordion").accordion({
header:'h3',
active: '#section1',
autoheight: false,
clearstyle: true
});
基本上,我想设置在哪个部分是第一个输入字段中的光标打开。实际的形式是更大的,所以我就凝结极大...
<div id="accordion">
<h3 id="section1"><a href="#">Section 1/a></h3>
<div>
<form id="form1" action="form.php" method="post">
<fieldset class="inside">
<input type="text" name="text1" id="text1" size="50" value="Default text" />
<input class="open" type="button" value="Submit" name="submit1" />
</fieldset>
</form>
</div><!--/div-->
<h3 id="section2"><a href="#">Section 2</a></h3>
<div>
<form id="form2" action="form.php" method="post">
<fieldset class="inside">
<input type="text" name="text2" id="text2" size="50" value="Submit" />
<input class="open" type="button" value="Submit" name="submit2" />
</fieldset>
</form>
</div><!--/div-->
<h3 id="section3"><a href="#">Section 3</a></h3>
<div>
<form id="form3" action="form.php" method="post">
<fieldset class="inside">
<input type="text" name="text3" id="text3" size="50" value="Submit" />
<input class="open" type="button" value="Submit" name="submit3" />
</fieldset>
</form>
</div><!--/div-->
答
$("#accordion").accordion({ header:'h3', active: '#section1', autoheight: false, clearstyle: true, }).bind("change.ui-accordion", function(event,ui) { $("#text1").focus(); });
这不会为其他子手风琴工作。正如你对文本框的ID进行硬编码一样。
在change.ui-accordion事件中可能会涉及到某些东西,但我对它并不十分熟悉。你可以使用这样的东西:
$(document).ready(function() {
$("div#accordion > h3 > a").click(function(e) { // when we click a link
e.preventDefault(); // prevent the click from bubbling
var parenth3 = $(this).parent(); // find the parent h3 the sender is in
//this selector then finds the first textbox that is in the div adjacent to the parent h3.
$("#" + parenth3[0].id + " + div > form > fieldset.inside > input[type=text]:first").focus();
});
});
这对我来说感觉很不好意思。
编辑:另请注意,您的第1部分的定位标记未正确关闭。