2017-09-29 39 views
-2

在我的WordPress我的代碼,我試圖克隆<select>盒,其選項時,它的工作原理,但問題是它的所有選項的跑到外面結束選擇標籤</select>我無法確認什麼不妥Jquery的克隆選擇工作不正常

預覽圖 enter image description here HTML輸出:https://jsfiddle.net/h5voq4nt/

PHP代碼

$output .= '<label for="_jwppp-video-url-' . $number . '">'; 
$output .= '<strong>' . __('Media URL', 'jwppp') . '</strong>'; 
$output .= '<a class="question-mark" href="http://www.ilghera.com/support/topic/media-formats-supported/" title="More informations" target="_blank"><img class="question-mark" src="' . plugins_url('jw-player-7-for-wp-premium') . '/images/question-mark.png" /></a></th>'; 
$output .= '</label> '; 
$output .= '<p>'; 
$output .= '<input type="text" id="_jwppp-video-url-' . $number . '" name="_jwppp-video-url-' . $number . '" style="margin-right:1rem;" placeholder="' . __('Video (YouTube or self-hosted), Audio or Playlist', 'jwppp') . '" '; 
$output .= ($video_url != 1) ? 'value="' . esc_attr($video_url) . '" ' : 'value="" '; 
$output .= 'size="60" />'; 

$output .= '<input type="text" name="_jwppp-' . $number . '-main-source-label" id ="_jwppp-' . $number . '-main-source-label" class="source-label-' . $number . '" style="margin-right:1rem;'; 
$output .= '" value="' . $main_source_label . '" placeholder="' . __('Label (HD, 720p, 360p)', 'jwppp') . '" size="30" />'; 

$output .= '<select style="margin-top: 0; margin-left: 0.8rem;" id="_jwppp-video-ad-' . $number . '" name="_jwppp-video-ad-' . $number . '" />'; 
$output .= '<option name="NoAds" value="NoAds"'; 
$output .= ($ads_client == 'NoAds') ? ' selected="selected"' : ''; 
$output .= '>No Ads</option>'; 
$output .= '<option name="AdCode1" value="AdCode1"'; 
$output .= ($ads_client == 'AdCode1') ? ' selected="selected"' : ''; 
$output .= '>Ad Code 1</option>'; 
$output .= '<option name="AdCode2" value="AdCode2"'; 
$output .= ($ads_client == 'AdCode2') ? ' selected="selected"' : ''; 
$output .= '>Ad Code 2</option>'; 
$output .= '<option name="AdCode3" value="AdCode3"'; 
$output .= ($ads_client == 'AdCode3') ? ' selected="selected"' : ''; 
$output .= '>Ad Code 3</option></select>'; 

jQuery代碼

<script> 
(function($) { 
    $(document).ready(function() { 
     var number = <?php echo $number; ?>; 
     var $url = $('#_jwppp-video-url-' + number).val(); 
     var $ads = $('#_jwppp-video-ad-' + number).val(); 
     var $ext = $url.split('.').pop(); 
     var $arr = ['xml', 'feed', 'php', 'rss']; 

     //CHANGE PLAYLIST-HOW-TO 
     var tot = $('.jwppp-input-wrap:visible').length; 
     if(tot > 1) { 
      $('.playlist-how-to').show('slow'); 

      var string = []; 
      $('.order:visible').each(function(i, el) { 
       string.push($(el).html()); 
      }) 
      $('.playlist-how-to code').html('[jw7-video n="' + string + '"]'); 
     } else { 
      $('.playlist-how-to').hide(); 
     } 

     $('.jwppp-more-options-' + number).hide(); 

     if($.inArray($ext, $arr)>-1) { 
      $('.more-options-' + number).hide(); 
     }; 

     $('#_jwppp-video-url-' + number).on('change',function() { 
      var $url = $('#_jwppp-video-url-' + number).val(); 
      var $ads = $('#_jwppp-video-ad-' + number).val(); 
      var $ext = $url.split('.').pop(); 
      var $arr = ['xml', 'feed', 'php', 'rss']; 
      if($.inArray($ext, $arr)>-1) { 
       $('.more-options-' + number).hide(); 
       $('.jwppp-more-options-' + number).hide(); 
      } else { 
       $('.more-options-' + number).show();  
      } 
     }); 
    }); 
})(jQuery); 
</script> 
+0

這可能是一個PHP問題,你到底做了什麼來識別和調試問題? – Zeus77

+0

我沒有看到任何對'clone()'的調用。 – Barmar

+0

@ Zeus77克隆是通過jquery,我沒有得到任何錯誤,但克隆選擇字段'

回答

1

在PHP碼具有

$output .= '<select style="margin-top: 0; margin-left: 0.8rem;" id="_jwppp-video-ad-' . $number . '" name="_jwppp-video-ad-' . $number . '" />'; 

這具有端斜槓(/),請刪除它。

+0

就像一個魅力 – Rtra