-6

教祖!私は李のリストを持っています

<ul>
 <li><input type="hidden" value="7" name="order"></li>
 <li><input type="hidden" value="3" name="order"></li>
 <li><input type="hidden" value="6" name="order"></li>
 <li><input type="hidden" value="5" name="order"></li>
 <li><input type="hidden" value="1" name="order"></li>
 <li><input type="hidden" value="2" name="order"></li>
</ul>

非表示の入力を持つ新しい li をリストに追加し、入力 val+1 の値を設定します。すべての入力の最大値を見つけて 1 ずつ増やします。

手伝って頂けますか?

4

4 に答える 4

1

これにはjQueryを使用してください。

var total;

$('li').find('input').each(function(){

   total = total == undefined || parseInt($(this).val()) > total ? parseInt($(this).val()) : total;

})

$('ul').append('<li><input type="hidden" value="' + (total + 1) + '" name="order"></li>');

total変数には、入力値の合計が取り込まれます。その後、これを好きなように使用できます。

于 2013-08-09T20:20:43.767 に答える
0

jQuery を使用しない DOM 操作の演習です。

http://jsbin.com/uxowez/2

コード:

var inputs = document.getElementsByTagName('input'),
    ul = inputs[0].parentNode.parentNode,
    inputName = inputs[0].name,
    max = 0,
    newLi = document.createElement('li'),
    newInput = document.createElement('input'),
    newValue;

for (var i = 0, len = inputs.length; i < len; i++) {
    max = Math.max(max, inputs[i].value);
}

newInput.value = newValue;
newInput.name = inputName;
newLi.appendChild(newInput);
newLi.textContent = newValue;
ul.appendChild(newLi);
于 2013-08-09T21:10:29.380 に答える
0
var list = jQuery("ul li input").map(function(){
    return parseInt(jQuery(this).val(), 10);
    }).get();
var idNumber = Math.max.apply( Math, list );
于 2013-08-10T20:52:00.207 に答える