javascript - 如何使用 Jquery(或 JS)选择动态创建的输入字段?

标签 javascript jquery

此输入选择字段是动态生成的,选项将根据用户在先前字段中选择的内容而变化。

<select name="vehicle">
    <?php $loop = new WP_Query( array( 'post_type' => 'fleet') ); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <option class="vehicle-option" value="<? the_title() ?>" <?= $_POST["vehicle"] ==                     the_title('', '', false) ? "selected" : "" ?>>
    <?php the_title(); ?>
    </option>
    <?php endwhile; wp_reset_query(); ?>
</select>

因为这些选项是动态生成的,所以我无法使用 Jquery 选择该字段。 (我可以使用 CSS 选择它,但我需要对此字段应用验证,因为它是用户必须选择的必填字段)。

下面的代码不会选择它,我也尝试过在字段及其周围添加 ID 和类标签,但都失败了。

$('select[name=vehicle]’)………

因为最终我也希望能够选择该字段内的选项;

$('select[name=vehicle]').change(function(){ 
    if($("select[name=vehicle] option:selected").val() !== "Vehicle preference"){
    //run function
    }
    else{
    //run function
    }
}

最佳答案

您可以使用event delegation 对于动态创建的元素:

$(document).on('change', 'select[name = vehicle]', function () {
    if ($(this).find("option:selected").val() !== "Vehicle preference") {
        //run function
    } else {
        //run function
    }
});

关于javascript - 如何使用 Jquery(或 JS)选择动态创建的输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102315/

相关文章:

javascript - 当页面上已有旧版本时,如何在 chrome 扩展内容脚本中使用 jquery

javascript - 无法在 Jquerymobile 中获取 slider 值

javascript - 欧芹 - 根据 li 的值隐藏/显示 block

javascript - Chrome 开发工具在拒绝的 promise 上暂停,即使我正在捕获它

javascript - 如何摆脱输入值的问题?

javascript - 如何将 html 类添加到上面的元素

javascript - Timepicker Javascript 以不正确的方式显示时间

javascript - 将变量从 Controller 传递到 Fat-Free Framework 中的 javascript 函数

javascript - jQuery UI 平滑过渡

jquery - 等待动画完成,然后返回