HTML code:
<td><input type="text" name="flat[]" class="" value="<?php echo $row_pdetails["flat"]; ?>" /></td>
<td><input type="text" name="new_price[]" class="" value="<?php echo $row_pdetails["price"]; ?>" /></td>
<td><input type="text" name="org_price[]" class="" value="<?php echo $row_pdetails["org_price"]; ?>" readonly/></td>
<td><input type="submit" name="save" value="save"/></td>
PHP代码:
<?php
if(isset($_POST["save"]))
{
for($i=0;$i<count($_POST["org_price"]); $i++)
{
$org_price=$_POST["org_price"][$i];
$new_price=$_POST["new_price"][$i];
mysql_query("update tb_party_rate_entry set price='$new_price' where (party_id='$p_id' && org_price='$org_price')");
}
}
在这段代码中,我使用while循环从数据库中获取new_price[]
和org_price[]
的值,并且为了在数据库中更新这些值,我使用了for循环,如我的PHP代码。
现在我想要的是每当我在flat[]
文本框中输入任何值时,应使用keypress事件同时在new_price[]
文本框中输入相同的值。当我在第一行的平价中输入值时,应该在第一行的new_price[]
中输入,当我在第二行的平价中输入值时,应该在第二行的new_price[]
中输入,并在按键事件中输入。 / p>
请帮忙。
答案 0 :(得分:0)
在此测试:http://jsfiddle.net/qsDn5/3/
的 HTML 强>
<div>
<tr>
<td>flat1:<input type="text" name="flat[]" class="flat" value=""/></td>
<td>price1:<input type="text" name="new_price[]" class="new_price" value=""/></td>
<td><input type="text" name="org_price[]" class="" value=""</td>
</tr>
</div>
<div>
<tr>
<td>flat2:<input type="text" name="flat[]" class="flat" value=""/></td>
<td>price2:<input type="text" name="new_price[]" class="new_price" value=""/></td>
<td><input type="text" name="org_price[]" class="" value=""</td>
</tr>
</div>
<p><input type="submit" name="save" value="save"/></p>
<强> Jquery的强>
$(document).ready(function(){
$('.flat').on('keyup',function(e) {
$( this ).siblings(".new_price").eq(0).val ( $(this).val() );
});
});
答案 1 :(得分:0)
你应该在flat []上使用onchange事件并因此设置new_price []的值。
像
这样的东西$('input[name="flat[]"]').on('keyup',function(e) {
$( this ).siblings('input[name="new_price[]"]:first').val ( $(this).val() );
});
注意: 我使用了兄弟姐妹,因为我假设你将拥有相同输入名称的不同行,这样你只会更新正确的元素
答案 2 :(得分:0)
试试这个:
请注意,我在html中添加了rel
属性,并为textbox创建了唯一ID。每个文本框都有唯一的ID。
<?php
$i = "1";
while(//$row=...){
?>
<td><input type="text" name="flat[]" id="flat<?php echo $i;?>" rel="<?php echo $i;?>" class="flat" value="<?php echo $row_pdetails["flat"]; ?>" /></td>
<td><input type="text" name="new_price[]" id="newprice<?php echo $i;?>" rel="<?php echo $i;?>" class="new_price" value="<?php echo $row_pdetails["price"]; ?>" /></td>
<td><input type="text" name="org_price[]" id="orgprice<?php echo $i;?>" rel="<?php echo $i;?>" class="org_price" value="<?php echo $row_pdetails["org_price"]; ?>" readonly/></td>
<?php $i++;} ?>
<td><input type="submit" name="save" value="save"/></td>
JQuery:
当用户尝试在平面文本框中输入某些内容时,我们得到它rel
并且它的值。使用我们发现的相关newprice文本框的rel值。
$(document).on('keyup','.flat',function(){
var rel = $(this).attr('rel');
var flatvalue = $(this).val();
$("#newprice"+rel).val(flatvalue);
});