Jquery选择并输入文本

时间:2011-06-20 16:24:22

标签: jquery

我有这样的表格:

<form ...>
<select name="fuits[]" id="fruits[]">
    <option value="A">Apple</option>
    <option value="O">Orange</option>
    <option value="P">Pear</option>   
</select>
<input type="text" name="fruit[]" id="fruit[]" />

<select name="fruits[]" id="fruits[]">
    <option value="A">Apple</option>
    <option value="O">Orange</option>
    <option value="P">Pear</option>   
</select>
<input type="text" name="fruit[]" id="fruit[]" />

<select name="fruits[]" id="fruits[]">
    <option value="A">Apple</option>
    <option value="O">Orange</option>
    <option value="P">Pear</option>   
</select>
<input type="text" name="fruit[]" id="fruit[]" />

...

<input type="submit" value="send" />

因此,我需要从每个选择选项值填充每个输入文本(将输入文本与所选选项匹配)

我有这个JQuery,但它不能正常工作=(,

$("select[name='type[]']").change(function() {
    $("input[name='tvalue[]']").eq($(this).index()).val(this.value);
}).change();

这是DEMO(感谢karim79):http://jsfiddle.net/GKrd9/4/ 建议好吗?

谢谢! 卡洛斯

3 个答案:

答案 0 :(得分:3)

我编辑了你的小提琴,希望这就是你想要的。

$("select[name='type[]']").change(function() {
    $(this).next().val(this.value);
}).change();

http://jsfiddle.net/GKrd9/5/

答案 1 :(得分:0)

代码中唯一缺少的是index()中的选择器。

这可以解决您的问题:

$("select[name='type[]']").change(function() {
    $("input[name='tvalue[]']").eq($(this).index("select")).val(this.value);
}).change();

jsFiddle example

答案 2 :(得分:0)

试试这个:

$(function() {
    $("select").change(function() {
        var jqThis = $(this);
        jqThis
            .next('input')
            .val(jqThis.find('option:selected').val())
    }).change();
});

这是一个jsfiddle:http://jsfiddle.net/HPYxy/