我有我的jQuery代码设置,所以当点击一个跨度时,
被隐藏,输入框会显示它的位置。从这里可以输入输入框,并将值传递回
。
我的问题是,如果我有多个具有相同名称的跨度,则只有第一个跨度将隐藏并显示输入,并且我希望显示所有具有相同名称的跨度。
跨度的名称是从php for循环动态生成的(title_ $ i,其中$ i是数组键),因此我无法手动重命名每个跨度。
我的HTML表格:
<table id="blank">
<tbody>
<tr id="1" class="edit_tr" bgcolor="#ffffff">
<td class="edit_td">
<span id="title_1" class="text"><p>Bed 1</p></span>
<input type="text" value="Bed 1" name="floor_room[1][]" class="editbox" id="title_input_1" style="display: none;">
</td>
<td class="edit_td">
<span id="title_1" class="text"><p>Bed 2</p></span>
<input type="text" value="Bed 2" name="floor_room[1][]" class="editbox" id="title_input_1" style="display: none;">
</td>
</tr>
<tr id="2" class="edit_tr" bgcolor="#f2f2f2">
<td class="edit_td">
<span id="title_2" class="text"><p>Bath</p></span>
<input type="text" value="Bath" name="floor_room[2][]" class="editbox" id="title_input_2" style="display: none;">
</td>
<td class="edit_td">
<span id="title_2" class="text"><p>Bed 1</p></span>
<input type="text" value="Bed 1" name="floor_room[2][]" class="editbox" id="title_input_2" style="display: none;">
</td>
<td class="edit_td">
<span id="title_2" class="text"><p>Bed 2</p></span>
<input type="text" value="Bed 2" name="floor_room[2][]" class="editbox" id="title_input_2" style="display: none;">
</td>
</tr>
</tbody>
</table>
我的jQuery:
$(".editbox").hide();
$(".text").show();
$(".edit_tr").click(function () {
var ID = $(this).attr('id');
$("#title_" + ID).hide();
$("#title_input_" + ID).show();
}).change(function () {
var ID = $(this).attr('id');
var title = $("#title_input_" + ID).val();
$("#title_" + ID).html(title);
});
// Edit input box click action
$(".editbox").mouseup(function () {
return false
});
// Outside click action
$(document).mouseup(function () {
$(".editbox").hide();
$(".text").show();
});
并且正在使用jsFiddle:http://jsfiddle.net/8resbu2c/
答案 0 :(得分:0)
您不能在单个视图中为多个元素提供相同的ID。如果您需要为多个元素指定相同的名称。最好为它们提供相同的类名来识别。
答案 1 :(得分:0)
使用
$('name=["floor_room[1][]"]').show();
使用dom的名称选择器。