在选中复选框时获取坐标
Getting coordinates upon checking a checkbox
我正在做这个学校的事情,我试图获得循环复选框的x和y坐标,当它们被选中并在各自的输入框中显示x和y坐标时,我需要帮助,因为此时我真的不知道我在做什么。
html.twig。
{% set cells = 10 %}
<div class="large-12">
<div class="large-6 columns">
<h6>Your Board</h6>
<table id="yours" class="ocean">
{% for i in 1..cells %}
<tr class="rowDiv">
{% for j in 1..cells %}
<td id="{{i}}col_{{j}}" rel="{{j}}" class="cell colDiv
{% for placement in yourships %}
{% for cell in placement %}
{% if cell.x_pos == i and cell.y_pos == j %}
{% if cell.hit == "hit" %}
hit
{% else %}
{{cell.class}}
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
">
<input class="pos-input" name="position" type="checkbox" value="{{j}}"/>
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
<div class="large-12">
<div class="large-3 columns">
Y:<input type="text"/>
</div>
<div class="large-3 columns">
x:<input type="text"/>
</div>
<div class="large-3 columns">
<select>
<option>select</option>
<option>hit</option>
<option>miss</option>
</select>
</div>
<div class="large-3 columns">
<button>Initiate</button>
</div>
</div>
</div>
<script>
$('.chooser').click(function(){
$(this).removeClass('invisible');
var innerCheck = $(this).find('input[type=checkbox]')
innerCheck.prop('checked', true);
});
</script>
$(function() {
$('.pos-input').on('click', function() {
if ($(this).is(':checked')) alert( $(this).data('x')+':'+ $(this).data('y') );
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
{% set cells = 10 %}
....
{% for i in 1..cells %}
<tr id="{{i}}" class="rowDiv">
{% for j in 1..cells %}
<td id="{{i}}col_{{j}}" rel="{{j}}" class="cell colDiv chooser invisible
{% for placement in yourships %}
{% for cell in placement %}
{% if cell.x_pos == i and cell.y_pos == j %}
hit
{% else %}
no-ship
{% endif %}
{% endfor %}
{% endfor %}
">
<input class="pos-input" name="position" type="checkbox" data-x="{{ j }}" data-y="{{ i }}" />
</td>
{% endfor %}
</tr>
{% endfor %}
更有效的实现是使用.on
来提高性能
使用.on
,您只有一个事件侦听器处理任何单击,相反,事件侦听器用于DOM中的每个输入框(类pos-input
)。
$(function() {
$('table').on('click', '.pos-input', function(e){
var targ = $(e.target);
if(targ.is(":checked")){
alert(targ.x + ", " + targ.dataset.y);
}
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
{% set cells = 10 %}
....
{% for i in 1..cells %}
<tr id="{{i}}" class="rowDiv">
{% for j in 1..cells %}
<td id="{{i}}col_{{j}}" rel="{{j}}" class="cell colDiv chooser invisible
{% for placement in yourships %}
{% for cell in placement %}
{% if cell.x_pos == i and cell.y_pos == j %}
hit
{% else %}
no-ship
{% endif %}
{% endfor %}
{% endfor %}
">
<input class="pos-input" name="position" type="checkbox" data-x="{{ j }}" data-y="{{ i }}" />
</td>
{% endfor %}
</tr>
{% endfor %}
相关文章:
- 如何使用Google Places Javascript API搜索附近的位置(自动从浏览器获取坐标)
- 从谷歌地图Api中的区域名称获取坐标
- 从硬件GPS获取坐标
- 每个表的2D数组获取坐标JTSL,JAVASCRIPT
- 单击图像,获取坐标并将其保存在数据库JavaScript和Rails中
- 如何通过JavaScript代码显示谷歌地图并在设备上获取坐标
- 使用 Javascript 获取坐标经度纬度
- 从网格视图行中获取坐标,以使用 Raphael.js 在画布上绘制
- 如何从 X°Y′Z“ 格式(不是 X.Y == 十进制)的点击事件中获取坐标
- 可以从谷歌地图 api v3 从生物摊位获取坐标 “onclick” 创建的标记
- 在谷歌地图API上获取x/y坐标
- OpenLayers 2,GeoJSON无法获取坐标
- Mapbox:获取坐标所在的国家
- 画布和获取坐标基于网格(通过鼠标x鼠标y)
- Javascript:通过点击和拖动地图标记获取坐标
- 获取坐标(经纬度)的谷歌地图的街道地址-角
- 在选中复选框时获取坐标
- 谷歌地图API 3:从右键获取坐标
- 从KML提要获取坐标以与mapbox一起使用
- 用JavaScript从照片中获取坐标