【问题标题】:JQuery data-attribute is undefined on change of a select更改选择时未定义 JQuery 数据属性
【发布时间】:2018-01-15 21:45:54
【问题描述】:

我尝试创建选项并在使用此模式的选择中动态设置 jQuery 对象的数据但不起作用。

这是我打印商店选项的 HTML 代码,并给它一个名为“data-last-sync-shop”的data-attribute

<select id="shopSelect" 
        onchange="$('#lastSync').text($(this).data('lastSyncShop'));" 
        name="shop_select">

    <option value=""></option>

    <?php foreach ($shops as $code => $info) { ?>
        <option value="<?= $code ?>" 
                data-last-sync-shop="<?= $info['last_sync'] ?>">
            <?= $info['description'] ?>
        </option>
    <?php } ?>
</select>
<span id="lastSync">-</span>

如果我调试 onchange 选择数据属性的事件是 undefined 但如果我检查 PHP 生成的 HTML 代码,选项的数据属性正确填充。为什么?我哪里错了?感谢您的回答。

我在这里添加console.log()

<select id="shopSelect" 
        onchange="console.log($(this).data('lastSyncShop'));" <!-- undefined --> 
        name="filtro[codice_shop_select]">

【问题讨论】:

    标签: javascript php jquery drop-down-menu custom-data-attribute


    【解决方案1】:

    您需要定位:selected option 元素。

     $(this).find('option:selected').data('lastSyncShop')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多