構成管理のためにサーバの情報を取得して
DBなどに登録するUIを作っているのですが
jqueryで、disk2, 3, 4, ...
のように数値を遷移させる方法がわからず困っています、、、
djangoのコードの一環のため以下のドキュメントを参照させていただいています。
※内容はjqueryに起因するものという認識なので上記タグで投稿しました
https://narito.ninja/blog/detail/36/
特に <script>内の
var totalManageElement = $('#id_tr_disk-TOTAL_FORMS');
この部分で操作時点で画面上で操作されている
どなたかご教授いただければ幸いですmm
forms.py
1# cat svradm_design/inspec_ui/forms.py 2from django import forms 3from .models import Server, Disk 4 5class InspecForm(forms.Form): 6 class Meta: 7 mode = Server 8 fields = '__all__' 9 10DiskFormSet = forms.inlineformset_factory( 11 Server, Disk, fields='__all__', extra=1, can_delete=True 12)
{% extends "inspec_ui/base.html" %} {% block content %} <h1>inspec_ui</h1> <form action="" method="get"> {% csrf_token %} <table> <tr><td>ServerName</td><td><input type="test" size="20" name="servername"></td></tr> <tr><td>CPU-Memory</td><td><input type="test" size="20" name="cpumemory"></td> <tbody id='disk'> <tr><td>Disk</td><td>partition_name</td><td>size</td><td>filesystem</td></tr> <tr id="disk1"> <td></td> <td><input type="test" size="20" name="disk_partition_name"></td> <td><input type="test" size="20" name="disk_size"></td> <td><input type="test" size="20" name="disk_filesystem"></td> <td><button id="add_disk" type="button" class="btn btn-primary">+</button></td> </tr> </tbody> <tr><td colspan='2'><input type="submit" value="Submit"></td></tr> </table> servername : {{ servername }}<br> {% endif %} {% if cpumemory %} cpumemory : {{ cpumemory }}<br> {% endif %} {% if disk_partition_name %} disk_partition_name : {{ disk_partition_name }} , disk_size : {{ disk_size }} , disk_filesystem : {{ disk_filesystem }} {% endif %} {% endblock %} {% block extrajs %} <script> //var currentDiskCount $(function(){ var totalManageElement = $('#id_tr_disk-TOTAL_FORMS'); var currentDiskCount = parseInt(totalManageElement.val()); console.log(`hoge: ${currentDiskCount}`); currentDiskCount += 1; var disk_id = `disk${currentDiskCount}` $('button#add_disk').on('click', function(){ var disk_partition_nameElement = $('<input>', { id: 'id_disk_partition_nameElement-' + currentDiskCount + '-name', type: 'disk_patrition_name', name: 'disk_set-' + currentDiskCount + '-name', }); var disk_sizeElement = $('<input>', { id: 'id_disk_set-' + currentDiskCount + '-src', type: 'disk_size', name: 'disk_set-' + currentDiskCount + '-src', }); var disk_filesystemElement = $('<input>', { id: 'id_disk_set-' + currentDiskCount + '-src', type: 'disk_filesystem', name: 'disk_set-' + currentDiskCount + '-src', }); var disk_partion_name = jQuery('<div>').append(disk_partition_nameElement.clone(true)).html(); var disk_size = jQuery('<div>').append(disk_sizeElement.clone(true)).html(); var disk_filesystem = jQuery('<div>').append(disk_filesystemElement.clone(true)).html(); var disk_delete = `<button id=\'delete_${disk_id}\'>-</button>` var addline = `<tr id=${disk_id}><td></td><td>${disk_partion_name}</td><td>${disk_size}</td><td>${disk_filesystem}</td><td>${disk_delete}</td></tr>` console.log(disk_partion_name); $('tbody#disk').append(addline) totalManageElement.attr('value', currentDiskCount); console.log('disk_id:' + currentDiskCount) }); //var currentDiskCount = 1; $(`button#delete_${disk_id}`).on('click', function(){ $('<tr id=\'disk${disk_id}\'>').remove(); //$(this).remove(); }); }); </script>
回答1件
あなたの回答
tips
プレビュー