ファイルの閲覧など、ページを作成したい。今、私はこの質問があります:私はこのページにフォルダとファイルであるいくつかのリンクと「開く」ボタンを持っています。ユーザーがキーを押すと、この文字で始まる最初のリンク(ファイル/フォルダー)が選択されます。また、ユーザーが各リンクをダブルクリックした場合、または各リンクをクリックして[開く]ボタンを押した場合、選択したフォルダーのコンテンツを表示するか、ファイルの場合はウィンドウを閉じます。「開く」ボタンがクリックされたとき、どの項目が選択されているかをどのように理解できるか知りたいのですが。
<script type="text/javascript">
function func(id){
var label = $('<label/>').text(id).appendTo($('#div_for_labels'));
$('#div_show').html('waiting...').load('learning/?ajax=true&path='+id);
}
$('openButton').click(function(e){
e.preventDefault();
???
})
</script>
<div id="div_for_labels"></div>
<div id="div_show">
{% for f_name, f_type in list %}
{% if f_type == 'folder' %}
<p><a ondblclick="func(this.id)" id="{{ f_name }}" class="res"><img src="/media/img/folder.jpeg">{{ f_name }}</a></p>
{% else %}
<p><a ondblclick="func(this.id)" id="{{ f_name }}" class="res"><img src="/media/img/file.jpeg">{{ f_name }}</a></p>
{% endif %}
{% endfor %}
</div>
<div>
<input type="submit" id="openButton" value="Open">
</div>
どのアイテムが選択されているかを理解するために「開く」ボタンにどのスクリプトを書くべきかわからないので、そのIDをビューに送信しますか?
編集:
私のviews.py:
def learning(request):
if request.is_ajax():
if 'path' in request.GET:
# receives list
return render_to_response("path.html",{'list': list})
else:
# receives list
return render_to_response("learningPath.html",{'list': list})
初めて、ラベルのdivと「開く」ボタンを含む「learning.html」ページに移動します。それ以外の場合は、ラベルと「開く」ボタンのdivを繰り返さないため、次の内容のみを含む「path.html」に移動します。
{% for f_name, f_type in list %}
{% if f_type == 'folder' %}
<p><a ondblclick="func(this.id)" id="{{ f_name }}" class="res"><img src="/media/img/folder.jpeg">{{ f_name }}</a></p>
{% else %}
<p><a ondblclick="func(this.id)" id="{{ f_name }}" class="res"><img src="/media/img/file.jpeg">{{ f_name }}</a></p>
{% endif %}
{% endfor %}