I’ve got a screen that allows users to add & remove rows which they’ll use to input their scores. The input rows gets created based on sample type selected & a pre-configured “template” (eg, going by my picture… I select hearts, and “germs, wholebird” & “Pseudomonas, Crubming” gets added as a default), but they can also append or remove rows as they see fit.
I’d like it so that when a user tabs, it’ll only tab through the textboxes, and not the dropdown boxes.

The code
Index
@Html.ActionLink("New Row...", "AddRow", null, new { id = "addItem" })
<div id="overflw" style="height: 260px; width: 885px; overflow: auto; border: 1px solid black">
<div id="editorRows">
@if (Model.Micros != null)
{
foreach (var item in Model.Micros)
{
Html.RenderPartial("MicroRow", item);
}
}
</div>
</div>
<script type="text/javascript">
$(".deleteRow").button({ icons: { primary: "ui-icon-trash" },
text: false
});
</script>
MicroRow
<div class="editorRow" style="padding-left: 5px">
@using (Html.BeginCollectionItem("micros"))
{
ViewData["MicroRow_UniqueID"] = Html.GenerateUniqueID();
@Html.EditorFor(model => model.Lab_T_ID, new { UniqueID = ViewData["MicroRow_UniqueID"] })
@Html.EditorFor(model => model.Lab_SD_ID, new { UniqueID = ViewData["MicroRow_UniqueID"] })
@Html.TextBoxFor(model => model.Result)
<input type="button" class="deleteRow" title="Delete" value="Delete" />
}
</div>
Well, the simplest way I can think of is to hijack your tab key whenever you are within one of your text boxes. I’ve put up a fiddle here which might give a general idea as to what I meant.
Edit – Using TabIndexes
While the piece of code above works as advertised, you may also want to check out using tabindex. I will admit, this is something that I did not know existed. But after reading through comments, decided this was something that may be more suited to your requirement. I’ve updated a fiddle to show how it works. Check it out