我有一张表格......
<form id='form1'>
First Name:
<input type="text">
</form>
我希望能够找到单词First Name
,然后查找以下输入并添加值“Joe”。名称周围可能有标签标签,输入周围也可能有div / span标签。以上只是一个基本的例子。
我的代码看起来像这样,但当然不能正常运行。感谢。
$('#form1').text($(this).find('First Name').next().val('Joe'));
答案 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)
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');
所以有一天你可以在页面中平静地使用更多语言:)