2016-06-15 54 views
0

如何使输入字段代替逗号分隔的文本与波纹管表格匹配。如何在单击表格单元格时输入字段

在我娄代码时,单击表格单元格将其添加自己的文本字符串转换为输入字段像A1,A2,A3,A4

但我想从表单元格的将输出的每个字段输入字段和字段的值点击。其实我想保存每个字段值到数据库。这就是为什么我需要输入字段。

<input type="text" class="some_class" value="text of the the cell" > 

有人可以帮我修改我的代码吗?

我的表像

Jsfiddle

$(function() { 
 
    var isMouseDown = false, 
 
    isHighlighted; 
 
    $("#ticketLayout .select") 
 
    .mousedown(function() { 
 
     isMouseDown = true; 
 
     $(this).toggleClass("highlighted"); 
 
     ticketName(); 
 
\t calculate(); 
 
     isHighlighted = $(this).hasClass("highlighted"); 
 
     return false; // prevent text selection 
 
    }) 
 

 
    .mouseover(function() { 
 
     if (isMouseDown) { 
 
     $(this).toggleClass("highlighted", isHighlighted); 
 
     ticketName(); 
 
\t \t calculate(); 
 
     } 
 
    }); 
 

 
    $(document) 
 
    .mouseup(function() { 
 
     isMouseDown = false; 
 
    }); 
 
}); 
 
    
 
function ticketName(){ 
 
var count = $("#ticketLayout td.highlighted").length; 
 
$(".ticket-count").text(count); 
 

 
var ticketValue = ""; 
 
$("#ticketLayout td.highlighted").each(function(){ 
 
    ticketValue += $(this).text() + ","; 
 
}); 
 
$(".selected-ticket").val(ticketValue); 
 
} 
 

 
//Calculate Price 
 
function calculate() 
 
{ 
 
\t var qty = document.getElementById("ticket-count").innerText; 
 
\t var value = document.getElementById("item-price").innerText; 
 
\t var result = value * qty; 
 
\t 
 
\t $(".total-price").val(result); 
 
}
table .select { 
 
    width:40px; 
 
    height:40px; 
 
    text-align:center; 
 
    vertical-align:middle; 
 
    background-color:#fff; 
 
    border:1px solid #c0c0c0; 
 
} 
 
table .selected { 
 
    width:40px; 
 
    height:40px; 
 
    text-align:center; 
 
    vertical-align:middle; 
 
    background-color:red; 
 
    border:1px solid #c0c0c0; 
 
} 
 

 
table td.highlighted { 
 
    background-color:#60fc60; 
 
} 
 

 
.ticket-panel{ 
 
    margin-top:30px; 
 
    margin-left:30px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="ticket-panel"> 
 
    <p>Ticket Fare: <span id="item-price" class="item-price">450</span>Taka</p> 
 
\t \t \t \t \t \t <table cellpadding="0" cellspacing="0" id="ticketLayout"> 
 
\t \t \t \t \t \t \t <tbody> 
 
\t \t \t \t \t \t \t <tr><td class="select">A1</td><td class="select">A2</td><td></td><td class="select">A3</td><td class="select">A4</td></tr> 
 
\t \t \t \t \t \t \t <tr> <td class="select">B1</td><td class="selected">B2</td><td></td><td class="select">B3</td><td class="select">B4</td></tr> 
 
\t \t \t \t \t \t \t 
 
</tbody> 
 
</table> 
 
    
 
    \t \t \t \t \t <form action="booking.php" method="post"> 
 
\t \t \t \t \t \t <div class="ticket-data"> 
 

 
    <div class="seats-container"></div> 
 

 
\t \t \t \t \t \t \t \t <p>Your Seat:<input id="tickets" name="ticket_no" type="text" class="selected-ticket" /></p> 
 
\t \t \t \t \t \t \t \t <p>Seat No: <span class="ticket-count" id="ticket-count" > </span></p> 
 
\t \t \t \t \t \t \t \t <p>Total Price: <input type="number" name="total-price" id="total-price" class="total-price" /></p> 
 
\t \t \t \t \t \t \t \t <button id="submit" type="submit" name="submit" class="btn btn-success">Continue</button> 
 
\t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t </form>

+0

可能会在每个表格之前添加输入字段并在点击时隐藏/显示它们? – jarasss

+0

不,它应该添加到我的波纹管窗体,其中输出显示 – Firefog

+0

document.createElement()或$('')并追加新你有节点吗? – Shilly

回答

0

所以从我从你的问题,你需要为每一个新的输入明白强调<td>,而不是追加将文本转换为另一个输入值。 这可以通过改变ticketName()函数来完成是这样的:

function ticketName(){ 
    var count = $("#ticketLayout td.highlighted").length; 
    $(".ticket-count").text(count); 
    $('.seats-container').html(''); 
    $("#ticketLayout td.highlighted").each(function(){ 
     $('.seats-container').append('<div>Seat : <input name="seats[]" type="text" class="some_class" value="'+$(this).text()+'" ></div>'); 
    }); 
} 

你也需要改变你的HTML代码把输入div容器的<form>所以里面所有的输入将与形式提交数据..所以你必须将它附加到你的表格中:

<div class="seats-container"></div> 
+0

哇感谢的人工程:) – Firefog

+0

如何设置最大一次选择 – Firefog

+0

// 5座这一行添加到鼠标按下功能: .mousedown(函数(){ 如果($( “td.highlighted”)长度> = 5) { 返回FALSE; }} ) –

相关问题