找到单词旁边的输入框

时间:2012-06-26 18:48:46

标签: jquery

我有一张表格......

<form id='form1'>
   First Name:
   <input type="text"> 
</form>

我希望能够找到单词First Name,然后查找以下输入并添加值“Joe”。名称周围可能有标签标签,输入周围也可能有div / span标签。以上只是一个基本的例子。

我的代码看起来像这样,但当然不能正常运行。感谢。

$('#form1').text($(this).find('First Name').next().val('Joe')); 

4 个答案:

答案 0 :(得分:0)

这是一个坏主意,以这种方式搜索标签将迫使浏览器搜索比它应该更多的元素。您应该为文本框使用id,并通过id获取元素。

<label for="firstname">First Name: </label><input id="firstname"/>

$('#firstname').val('joe');

可替换地:

<label for="firstname">First Name: </label><input id="firstname" class="firstname"/>

$('input.firstname').val('joe');

<label for="firstname">First Name: </label>
<input id="firstname" inputtype="firstname"/>

$('input[inputtype="firstname"]').val('joe');

答案 1 :(得分:0)

在HTML中关联标签和输入的传统方法是使用<label>标记:

<form id='form1'>
    <label for='firstName'>First Name</label>
    <input type='text' name='firstName' id='firstName'/>
</form>

标签for通过ID与输入相关联,因此要从标签中选择输入:

document.getElementById($('label[innerHTML="First Name"]').get(0).htmlFor).value += Joe;

或者只使用输入的id:

document.getElementById('firstName').value += 'Joe';

答案 2 :(得分:0)

jQuery不是用于选择文本,而是用于选择元素。例如,如果您将输入命名为first_name,则可以直接使用

选择输入
$("input[name=first_name]", "#form1")

当输入必须有html页面以任何有用的方式使用的名称id或类时,绝对没有理由根据前面的文本选择输入。

答案 3 :(得分:0)

jsBin demo

Simle:使用.eq()(或:eq()
我想在表格中你想要的输入是(例如)第一个,右边:

<form id='form1'>  
   First Name:
   <input type="text">  
   Last  Name:
   <input type="text">  
   Comment:
   <input type="text">     
</form>

这就是你所需要的:

$('#form1 input').eq(0).val('Joe');

所以有一天你可以在页面中平静地使用更多语言:)