Posts: 65
Location: san francisco, ca
|
When focus is on a select-list, I'd like focus to be forced/sent to a specific other element (by its id) on change of said select-list.
if option-value = A, send focus to a unique id element
if option-value = B, send focus to a different id element
Based on my research, the jquery event: .focus() should work. But no joy, on a multitude of element ids tested. Focus persists on the select-list.
I've thrown together a stripped-down test page demonstrating the code pasted below: http://bit.ly/64YDlW
Any assistance is appreciated. I'm prolly staring right at either the solution or the cause of the problem...
JQUERY STACK
Code:
<script type="text/javascript" src="js/jquery-1.4.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
// hides select elements onload
$("#wrap_large").hide();
$("#wrap_small").hide();
// other onload functions
// list > display large or small wraps
$("#list").change(function() {
var setting = document.getElementById('list');
//
if (
setting.value == 'small' //
) {
$("#wrap_small").show();
$("#wrap_large").hide();
$("#btn_small_submit").focus;
}
//
else {
$("#wrap_large").show();
$("#wrap_small").hide();
$("#accept").focus;
}
})
})
</script>
HTML
Code:
<form action="#" method="post">
<select name="list" id="list">
<option value="large">large</option>
<option value="small" selected="selected">small</option>
</select>
<!-- ~~~~~~~~~~ START small wrap START ~~~~~~~~~~ -->
<div id="wrap_small">
<button type="submit" id="btn_small_cancel">Cancel</button>
<button type="submit" id="btn_small_submit">Submit</button>
</div>
<!-- ~~~~~~~~~~ END small wrap END ~~~~~~~~~~ -->
</form>
<!-- ~~~~~~~~~~ START large wrap START ~~~~~~~~~~ -->
<div id="wrap_large">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
<input name="accepted" type="checkbox" value="on" id="accept" /> I accepted blah blah
<br />
<button type="submit" title="Cancel" id="btn_large_cancel">Cancel</button>
<button type="submit" title="Submit" id="btn_large_submit">Submit</button>
</div>
<!-- ~~~~~~~~~~ END large wrap END ~~~~~~~~~~ -->
Last edited by seannarae; 01-22-2010 at 03:13 PM..
|