基本上我有一系列 5 行文本框(每行包含 3 列)和单个文本区域...在 column3 末尾的标签应该把它带到文本区域,然后从文本区域标签应该把我带到下一行输入/文本框。
下面的代码可以在 row1 中使用标签,将我从 row1 col3 带到 textarea_desc,然后在 textarea_desc 上标签将焦点转移到 row2 col1 但是我看不到光标出现在 row2 col1 ...如果我添加了 css 它是 hsows在 row2 col1 中,但没有光标,所以我无法输入文本我必须单击 row2 col1 才能出现光标,有人可以告诉我为什么吗?
$('input[type="text"],textarea').on('focusout', function() {
var box_class=$(this).attr("class");
var row_id=$(this).parents('ul').attr('id');
if (box_class.indexOf("col3")>=0) {
$("#textarea_desc").focus();
$("#prev_row").val(row_id);
}
if (box_class.indexOf("textarea_desc")>=0) {
var prev_row=$("#prev_row").val();
var new_row=$("#prev_row").val().match(/\d+/);
new_row="#row"+(parseInt(new_row)+1)+"-col1";
$(new_row).focus();
}
});
..html
<ul id="row1" class="row">
<li class="col1" >1.</li>
<li class="col2"><input type="text" size="26" class="row1-col1" id="row1-col1" /></li>
<li class="col3"><textarea cols="28" rows="1" class="row1-col2 textareainp" id="row1-col2" ></textarea></li>
<li class="col4"><input type="text" size="10" class="row1-col3 " id="row1-col3" /></li>
</ul><ul id="row2" class="row">
<li class="col1" >2.</li>
<li class="col2"><input type="text" size="26" class="row2-col1" id="row2-col1" /></li>
<li class="col3"><textarea cols="28" rows="1" class="row2-col2 textareainp" id="row2-col2" ></textarea></li>
<li class="col4"><input type="text" size="10" class="row2-col3 " id="row2-col3" /></li>
</ul>
<textarea cols="40" rows="7" class="textarea_desc" id="textarea_desc" ></textarea>
<input type="hidden" id="prev_row" class="prev_row" value="" />