使用Jquery Keyup函数将变量从一个输入字段传递到另一个输入字段

时间:2016-04-15 13:05:30

标签: javascript php jquery keyup

我正在尝试使用在另一个字段(location-address)中输入的值自动填充输入字段(location-name)。我已经在网上到处查看并设法使JS片段工作在一个简单的例子,但由于某种原因,这不适用于以下PHP代码。

为了澄清,我希望将" location-address中输入的值传递给" location-name"。

<script>
    $('#location-address')
        .keyup(function() {
            var value = $(this).val();
            $('#location-name').text(value);
        })
        .keyup();
</script>

<tr class="em-location-data-name">
    <th style="padding-top: 14px;">
        <?php _e ( 'Event unique identifier:', 'dbem' )?>
    </th>
    <td>
        <input id="location-name" type="text" name="location_name" />
    </td>

</tr>
<tr class="em-location-data-address">
    <th style="padding-top: 14px;">
        <?php _e ( 'Address:', 'dbem' )?>&nbsp;</th>
    <td>
        <input id="location-address" type="text" name="location_address" value="<?php echo esc_attr($EM_Location->location_address, ENT_QUOTES); ; ?>" />
    </td>
</tr>

3 个答案:

答案 0 :(得分:2)

首先,您的代码需要放在document.ready处理程序中。其次,您需要使用val()而不是text()来设置input字段的值。

&#13;
&#13;
$(function() {
    $('#location-address').keyup(function() {
        var value = $(this).val();
        $('#location-name').val(value);
    }).keyup();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr class="em-location-data-name">
    <th style="padding-top: 14px;">
      <?php _e ( 'Event unique identifier:', 'dbem' )?>
    </th>
    <td>
      <input id="location-name" type="text" name="location_name" />
    </td>
  </tr>

  <tr class="em-location-data-address">
    <th style="padding-top: 14px;">
      <? php _e( 'Address:', 'dbem') ?>&nbsp;
    </th>
    <td>
      <input id="location-address" type="text" name="location_address" value="<?php echo esc_attr($EM_Location->location_address, ENT_QUOTES); ; ?>" />
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您需要在$(document).ready();中包装jQuery代码,以便jQuery绑定所有HTML元素。

更正后的代码:

<script>
$(document).ready(function(){
$('#location-address').keyup(function() {
    var value = $(this).val();
    $('#location-name').val( value );
  });
}).keyup();
</script>

答案 2 :(得分:0)

使用此

public class Test{
    public static String foo(){
     System.out.println("foo");
     return "";
    }

    public static void main(String args[]){
            Test t=null;
            t.foo();//no error will be thrown
    }
}