【问题标题】:change select box to autocomplete jquery source php echo将选择框更改为自动完成 jquery 源 php echo
【发布时间】:2014-08-28 14:11:24
【问题描述】:

需要你的帮助

我想用自动完成 jquery 更改选择框 这是我工作的选择框

<select name="sShippingPayment" title="simple;<?php echo $lang['Select_shipping_and_payment']; ?>" onchange="countShippingPrice( this )" id="oShippingPayment">
<option value=""><?php echo $lang['Select']; ?></option>
<?php echo $sShippingPaymentSelect; ?>
</select>

这里是我的 jquery 代码

<form action='' method='post'>
<p><label>Shipping & Payment:</label><input type='text' name='sShippingPayment' value='' class='auto'></p>
</form>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>    
<script type="text/javascript">
$(function() {
//autocomplete
$(".auto").autocomplete({
source: <?php echo $sShippingPaymentSelect; ?>,
minLength: 1
}); 

});

但它不起作用,请帮帮我。

我检查 php 文件

  * Returns shipping and payment select
  * @return string
  */
  public function throwShippingPaymentsSelect( ){
    $aShipping = $this->throwPaymentsShipping( 2 );
    $aPayments = $this->throwPaymentsShipping( 1 );
    if( isset( $aShipping ) && isset( $aPayments ) ){
      $content = null;
      foreach( $aShipping as $iShipping => $aData ){
        if( isset( $aData['aPayments'] ) ){
          foreach( $aData['aPayments'] as $iPayment => $sPriceModify ){
            if( isset( $aPayments[$iPayment] ) ){
              $fShippingPaymentPrice = !empty( $sPriceModify ) ? generatePrice( $aData['fPrice'], $sPriceModify ) : $aData['fPrice'];
              $content .= 
              '<option value="'.$iShipping.';'.$iPayment.';'.$fShippingPaymentPrice.'">'.
                $aData['sName'].' : Rp. '.
                displayPrice( $fShippingPaymentPrice )
              .'</option>';
            }
          } // end foreach
        }
      } // end foreach
      return $content;
    }
  } // end function throwShippingPaymentsSelect

我需要改变吗

      $content .= 
      '<option value="'.$iShipping.';'.$iPayment.';'.$fShippingPaymentPrice.'">'.
        $aData['sName'].' : Rp. '.
        displayPrice( $fShippingPaymentPrice )
      .'</option>';

被读作自动完成源?请帮助如何改变它。

非常感谢您的回答。

【问题讨论】:

  • “行不通”是什么意思?它现在在做什么?

标签: javascript php jquery autocomplete


【解决方案1】:

我认为您需要将 php echo 输出用引号括起来:

//autocomplete
$(".auto").autocomplete({
source: <?php echo '"' . $sShippingPaymentSelect . '"'; ?>,
minLength: 1
}); 

但是如果没有“它不起作用”的描述,我们就无法为您提供更多帮助。

【讨论】:

  • source: "&lt;?php echo $sShippingPaymentSelect; ?&gt;",这样包裹起来更干净一点
  • 当然,不管你的船是什么。这是可读性很差的情况之一。老实说,我会将引号直接添加到变量值本身。
  • 感谢 dudewad 和 sean,来源:, & source: "",在我这边还是不行。这一行 在浏览器上打印得很好,但自动完成脚本仍然无法抓取它。这是我的试用网站reseller.site50.net/?order-form,16
猜你喜欢
  • 2013-08-28
  • 2016-07-11
  • 2011-09-21
  • 2018-06-21
  • 2012-09-20
  • 2011-01-06
  • 2011-04-06
  • 1970-01-01
  • 2015-11-27
相关资源
最近更新 更多