2011-06-20 132 views
0

我有這樣的形式: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/ 建議請?

謝謝! Carlos

回答

3

我編輯了你的小提琴,希望這是你想要的。

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

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

+0

這正是我所需要的!非常感謝你! – Carlos

+0

@Sylvain,@FishBasketGordo一切正常!謝謝!!! – Carlos

0

在代碼中唯一缺少的是index()選擇。

這解決您的問題:

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

jsFiddle example

+0

它的作品非常好!我做到了=)非常感謝! – Carlos

+0

謝謝!我工作正常! – Carlos

0

試試這個:

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

這裏有一個的jsfiddle:http://jsfiddle.net/HPYxy/

+0

謝謝你!非常好=) – Carlos