将列表值分配给相应的文本输入

时间:2012-05-24 22:41:27

标签: jquery list input each closest

http://jsfiddle.net/22fUL/10/

有人能告诉我这里哪里出错吗?

我正在尝试使用相应列表中的值填充多个输入。

<dl class="list">
<dt><a href="/" id="list_name">Colors</a></dt>
<dd>
    <ol id="list_items">
        <li><a href="/">White</a></li>
        <li><a href="/">Blue</a></li>
        <li><a href="/">Red</a></li>
        <li><a href="/">Green</a></li>
        <li><a href="/">Orange</a></li>
     </ol>
 </dd>
 <dt><a class="agree">Agree</a></dt>
</dl>

<input type="text" id="myList_item_1" /><br />
<input type="text" id="myList_item_2" /><br />
<input type="text" id="myList_item_3" /><br />
<input type="text" id="myList_item_4" /><br />
<input type="text" id="myList_item_5" />


$('.agree').click(function( e ) {
e.preventDefault();
var i = 1;

var items = $(this).closest('.list_items').children('li');

$(items).each(function()
{
$('#myList_item_'+i).(this).val();
}
i++;
);

2 个答案:

答案 0 :(得分:0)

你缺少一个下划线 -

$( '#myList_item _' + I)(本).VAL();

答案 1 :(得分:0)

#list_items是一个ID,而不是一个类。

$('.agree').on('click', function(e) { 
    e.preventDefault();
    var items = $('#list_items').children('li');

    $(items).each(function(i, e) {
        $('#myList_item_'+ (i+1)).val(e.innerText);
    });
});

FIDDLE