jquery mobile 1.3.0 を使用しており、選択メニュー用に次のコードがあります。data-native-menu="false" を使用すると、オプションが表示されません。data-native-menu="false" がないと、オプションはユーザーに表示されます。
<div data-role="fieldcontain">
<label for="virtuemart_product_id_box" class="select"> Nombre de producto:
</label>
<select id="virtuemart_product_id_box" name="virtuemart_product_id_box" data-prevent-focus-zoom="true" data-native-menu="false">
<option value="">Seleccione un producto</option>
<option value="84">Fromage Artesano Tres Leches Madurado 425 gr.</option>
<option value="85">Queso de Cabra Madurado 425 gr.</option>
<option value="83">Queso de Oveja Madurado 425 gr.</option>
<option value="86">Queso de Vaca Madurado 425 gr.</option>
<option value="87">Queso de Vaca Madurado Ahumado 425 gr.</option>
デバッグ時に、次の情報が表示されます。
#virtuemart_product_id_box-listbox のターゲット -99919 までスクロールします。
なぜこうなった?
私はこの選択を美徳ビューで使用しています。view.html.php を使用して選択オプションをロードします
$options = array();
$options[] = JHTML::_('select.option', '', JText::_('Seleccione un producto'));
foreach($products as $product):
$options[] = JHTML::_('select.option', $product->virtuemart_product_id, $product->product_name);
endforeach;
if (isset($product_id)){
$this->lists['products']= JHTML::_('select.genericlist', $options, 'virtuemart_product_id_box', 'class="inputbox" onchange="this.form.submit();" data-prevent-focus-zoom="true" data-native-menu="false" ', 'value', 'text', $product_id);
}
else {
$this->lists['products']= JHTML::_('select.genericlist', $options, 'virtuemart_product_id_box', 'class="inputbox" onchange="this.form.submit();" data-prevent-focus-zoom="true" data-native-menu="false" ', 'value', 'text',$options[0]);
}
html をレンダリングする default.php
<?php
defined('_JEXEC') or die('Restricted access');
JHTML::_( 'behavior.modal' );
$document = JFactory::getDocument();
?>
<form action="<?php JRoute::_('index.php'); ?>" method="post">
<h1 class="title">
<?php echo JText::_('COM_VIRTUEMART_PRODUCER') .' '.$this->mf_name ?>
</h1>
<div data-role="fieldcontain">
<label for="virtuemart_product_id_box" class="select"> <?php echo JText::_('COM_VIRTUEMART_PRODUCT_NAME') ?>:
</label>
<?php echo $this->lists['products']; ?>
</div>
</form>
joomlaモバイルディスプレイ用のJtouchテンプレートも使用しています。
HTML で次のスクリプトを見つけました。
<script type="text/javascript">
var jtouchPageId = 0;
var jtouchPageTransition = 'fade';
var jtouchHeaderTheme = 'b';
var jtouchAdd2HomMessage = 'Install this web app on your %device: tap %icon and then <strong>Add to Home Screen</strong>.';
var jtouchShowAppDialog = true;
var jtouchPage = '';
</script>
<script type="text/javascript">
vmSiteurl = 'http://localhost/seleccionatu/' ;
vmLang = ""
vmCartText = 'fue agregado a su carro' ;
vmCartError = 'Hubo un error al actualizar su carro' ;
loadingImage = '/seleccionatu/components/com_virtuemart/assets/images/facebox/loading.gif' ;
closeImage = '/seleccionatu/components/com_virtuemart/assets/images/facebox/closelabel.png' ;
Virtuemart.addtocart_popup = '1' ;
faceboxHtml = '<div id="facebox" style="display:none;"><div class="popup"><div class="content"></div> <a href="#" class="close"></a></div></div>'
window.addEvent('domready', function() {
SqueezeBox.initialize({});
SqueezeBox.assign($$('a.modal'), {
parse: 'rel'
});
});
これらのスクリプトにより、select のポップアップが開かないことがありますか? URL が #virtuemart_product_id_box-listbox で追加されていることにも気付きました