Jquery .val()用于设置文本框的值,但.attr()不能

时间:2017-06-06 10:58:55

标签: javascript jquery angularjs

 <?php

        // check if the repeater field has rows of data

        if( have_rows('repeat_field') ):

          // loop through the rows of data
            while ( have_rows('repeat_field') ) : the_row();

                // display a sub field value

                echo '<span class="place-name">';
                  the_sub_field('place_name');
                echo '</span>';


      if (!empty (get_sub_field('feature_image_post')))  {

       echo '<div class="post-feature" style="display:block;">'; 
       echo the_sub_field('feature_image_post'); 
       echo '</div>';

      } 

      else {
       echo '<div class="post-feature" style="display:none;">' 
       echo the_sub_field('feature_image_post'); 
       echo '</div>';

      }
            endwhile;

        else :

            // no rows found

        endif;
//does not work
$("#TextBoxID1").attr("value","HI Value Change")
//work fine
$("#TextBoxID2").val("HI Value Change")

我想设置textbox的值,但jquery <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> <input type="text" id="TextBoxID1"/> <input type="text" id="TextBoxID2"/>不起作用,如果我尝试.attr()它可以正常工作。

我正在使用angular-autocomplete并且在其输入控件中我想使用jquery设置值,但我只是想知道为什么.val()不起作用。

1 个答案:

答案 0 :(得分:1)

这可能只是您的互联网浏览器的一个问题。

.attr()方法适用于您的示例: -

https://jsfiddle.net/376a1hjj/

尝试使用其他浏览器(例如chrome或firefox)运行代码(如果不是这种情况)或更新当前浏览器。