如果数字大于某个值,则将数字增加1

时间:2017-05-26 07:50:15

标签: jquery

我有一个列表,我已插入一个新行。我希望它之后的所有序列号都增加一个。

foreach (var value in myArray)
{
    foreach (KeyValuePair<string, object> entry in myDictionary)
    {
        if (entry.Key.Contains(value))
        {
            // Do stuff...
        }
    }
}

我编写了下面的代码,但它似乎忽略了<div class="modal" id="insertroom" style="display: none;"> <button class="dismiss right button"><i class="fa fa-close"></i></button> <h3>Insert a room in the route</h3> <p><span class="fixed-width">Room name:</span> <input name="room_id" id="room_id"/> </p> <p><span class="fixed-width">Sequence number in the route:</span> <input type="number" id="newsequencenumber" name="sequence" value=""></p> <p><span class="fixed-width">Route name:</span> <input name="route_number" id="route_number"/> </p> <p><input type="button" class="button" id="insertdetails" name="insertdetails" value="Insert details"></p> </div> <ul class="ui-listview"> <li><span class="half-fixed-width">AB101B</span> Sequence: <input type="number" class="sequence" name="sequence" value="1"> <a class="button inserthere" title="insert room here" href="#" rel="1"> <i class="fa fa-plus-square"></i> </a> </li> 部分,因为它将所有数字增加1,而不是只增加值大于插入行的序列号的数字。 / p>

if(new_sequence_number > thisval)

1 个答案:

答案 0 :(得分:1)

函数参数中的new_sequence_number是一个新变量,不会引用&quot; new_sequence_number&#39;在它之上宣布。可以省略该参数以使用外部变量。

  $('.sequence').each(function() {
    // ..
    if(thisval >= new_sequence_number) {
    //....

纯粹因为答案本身似乎很短,下面是另一种选择:D

val()可以将函数作为可以操作值的参数。这种方法的缺点是所有输入都被设置,即使它们保持不变。好处是所有逻辑都在一个简短的单一函数调用中。

  $('.sequence').val(function(ind,v) {      
    return (v = +v) < new_sequence_number ? v : ++v;
  });