私は、選択リストに数字を表示するスクリプトを実行しています。ユーザが特定の値をチェックすると、彼はその請求を支払うことができる時間を示す数値を表示します。ここでオプションからX番号を削除する
は、表示されるべきものです:
- ユーザーが1つのボックスを選択した場合、それはオプション1倍と2倍を表示しなければならないので、彼は、2倍、最大で行うことができます。
- ユーザーが2ボックスを選択した場合、彼は最大3倍で操作できるため、オプション1x、2x、3xを表示する必要があります。
- ユーザーが3つのボックスを選択した場合、最大4倍で操作できるため、1x、2x、3x、4xのオプションを表示する必要があります。
- ユーザーが4つのボックスを選択すると、最大6倍で操作できるため、1x、2x、3x、4x、6x(5xは表示されません)のオプションを表示する必要があります。
- 5ボックス、最大8倍(7xは表示されません)。
- 6つのボックス、最大10倍(9xは表示されません)。
- 7個のボックス、最大12倍(11xは表示されません)。
そして、ここで、このためのスクリプトコードです:
var tabelaParcelas = []; tabelaParcelas[1] = 2; tabelaParcelas[2] = 3; tabelaParcelas[3] = 4; tabelaParcelas[4] = 6; tabelaParcelas[5] = 8; tabelaParcelas[6] = 10; tabelaParcelas[7] = 12; $(document).ready(function(){ update(); }); $('input[type=checkbox]').click(function(){ update(); }) function update(){ var amount2 = 0; var options = 0; $('#instNum2 option').remove(); $('.check_list').each(function() { if (this.checked) { amount2 += Number($(this).val()); options ++; } $("input[name=amount]").val("R$"+amount2.toFixed(2)); }); if (options > 7) options = 7; var i = 0; if (options > 0) { while (tabelaParcelas[options] != i) { if (i != 0) { $('#instNum2') .append($("<option></option>") .attr("value",i+1) .text((i+1)+"x")); } i++; } } }
HTMLは、問題は、スクリプトで5倍、7倍、9Xと11Xを示しておくと、 1xはまだ表示されていない、私はなぜint'ntが表示されているが表示されている1番目の場所intを理解する必要があります...
誰かが私を助けることができますか?
我々がテストすることができますので、あなたも、あなたのHTMLを貼り付けてくださいもらえますか? – anpel
@anpel、htmlコードで質問を編集しました! –
$結果はここでは定義されていません。変数名はスペイン語ですので、達成しようとしていることを理解してください。私の理解は、彼らが1つの行を選択する場合、彼らは2つの行を選択する場合は、オプション2と3を選択する必要があります、彼らは3を選択する必要があります。正しいか、私はあなたの質問を誤解していますか? – anpel