javascript按键事件与php

javascript按键事件与php,javascript,php,Javascript,Php,HTML代码: <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"]; ?>" /&g

HTML代码:

<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>
在此处测试:
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>

您应该在平面[]上使用onchange事件,然后设置新价格[]的值

差不多

$('input[name="flat[]"]').on('keyup',function(e) {
   $( this ).siblings('input[name="new_price[]"]:first').val ( $(this).val() );
});
注: 我之所以使用兄弟元素,是因为我假设您将有具有相同输入名称的不同行,这样您只会更新正确的元素

试试这个:

请注意,我在html中添加了
rel
属性,并为textbox创建了唯一的id。这意味着每个textbox都有一个唯一的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>

对flat[]的值使用
onchange
,并将flat[]的值分配给新的\u price[]以使单行正常工作……但不适用于多行……这就是问题您需要为每个flat[]和新的\u price[]对使用不同的id。如何为此设置onchange事件??您尝试过吗@User3138522它正在工作,但例如有10行…每行包含一个单位和新价格…在第一行…在单位中我输入了20…它应该是该行的新价格的值…在第二行,我在单位文本框中输入30…然后它应该是该行的新价格的值…像这样…你尝试了上面的链接吗?单位值将是在同一行的相应价格字段中显示。正当
$('input[name="flat[]"]').on('keyup',function(e) {
   $( this ).siblings('input[name="new_price[]"]:first').val ( $(this).val() );
});
<?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>
$(document).on('keyup','.flat',function(){
    var rel = $(this).attr('rel');
    var flatvalue = $(this).val();
    $("#newprice"+rel).val(flatvalue);
});