新しい行を挿入したリストがあります。それ以降のすべてのシーケンス番号を1つ増やしたい。値より大きい場合は1を加算します
<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すべての数値をインクリメントするので、私は以下のコードを書いたが、それはif(new_sequence_number > thisval)
部分を無視しているように見えます。関数のパラメータでnew_sequence_number
$('#insertdetails').on('click', function() {
/*get values input into modal */
var new_sequence_number = $('#insertroom #newsequencenumber').val();
var new_room_id = $('#insertroom #room_id').val();
var new_route_id = $('#insertroom #route_number').val();
/*put those values into the new row */
$('#new_room_id' + new_sequence_number).val(new_room_id);
$('#new_route_id' + new_sequence_number).val(new_route_id);
$('#insertroom').hide();
$('.overlay').hide();
$('.sequence').filter(function(new_sequence_number) {
var thisval = parseInt($(this).val());
var plusone = thisval + 1;
if(thisval > new_sequence_number) {
$(this).val(plusone);
}
});
});
私は、同様のタイトルを持つすべての質問をチェックしますが、それらのどれも私の問題 –
セット内の要素のインデックスになりますnew_sequence_number'あなたが '名付けましたパラメータを解決していないが - あなたは何を期待しているということですそれは何ですか?あなたが設定することができる、または少なくとも関連するHTMLを表示するのに役立つかもしれません –
あなたの説明が正しい場合、あなたは間違ったIF句を持っています。 'thisval> new_sequence_number'でなければなりません。値がシーケンス番号より大きい場合、あなたは言った。 – yomisimie