ページ上の表にチェックボックスのセットがあります。私がしようとしているのは、ユーザーがチェックボックスをクリックして、その値がテーブルの下に表示される場合です。複数の値を '+' で区切られた、ラインで印刷することができる。JavaScriptを使用してチェックボックスの入力に基づいて動的文字列を作成します。
<html>
<head>
<title>{% block title %}Offer engineering{% endblock %}</title>
{% block css %}
<link rel="stylesheet" href="/static/css/reset-min.css" />
<link rel="stylesheet" href="/static/css/main.css" />
{% endblock %}
{% block script %}
<script src="/static/js/main.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="/static/js/my_jq.js"></script>
{% endblock %}
</head>
<body>
<div id="header">{% block header %}{% endblock %}</div>
<div id="messages-wrap">
<div id="messages">
{% for category, msg in get_flashed_messages(with_categories=true) %}
<p class="message flash-{{ category }}">{{ msg }}</p>
{% endfor %}
</div>
</div>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">{% block footer %}{% endblock %}</div>
</body>
</html>
main.htmlと:
{% extends "base_pro.html" %}
{% block content %}
Hi {{ user.name }}!
<table style="width:100%">
<tr>
<th>v1</th>
<th>v2</th>
<th>v3</th>
<th>v4</th>
<th>v5</th>
</tr>
<tr>
<td><label><input type="checkbox" name="selected" value="a" class="offers" />a</label></td>
<td><label><input type="checkbox" name="selected" value="b" class="offers" />b</label></td>
<td><label><input type="checkbox" name="selected" value="c" class="offers" />c</label></td>
<td><label><input type="checkbox" name="selected" value="d" class="offers" />d</label></td>
</table>
{% endblock %}
my_js
"a+b+c+d"
Iはbase_pro.htmlでこのコードを持っています.js:
$("input[type=checkbox]").on("change", function(){
var arr = []
$(":checkbox").each(function(){
if($(this).is(":checked")){
arr.push($(this).val())
}
})
var vals = arr.join("+")
var str = vals
console.log(str);
})
私はstrinを取得できませんチェックボックスをオンにすると表示されます。私は間違って何をしていますか?
あなたの質問をよりよく理解するために、 "表示"することで、メイン画面やコンソールで意味しますか?それはコンソールに正しく印刷されています。 –
@J。陳メイン画面 –
DOMに連結文字列値を明示的に注入する必要があります –