此输入选择字段是动态生成的,选项将根据用户在之前字段中选择的内容而改变。
<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
}
}
答案 0 :(得分:2)
您可以将 event delegation 用于动态创建的元素:
$(document).on('change', 'select[name = vehicle]', function () {
if ($(this).find("option:selected").val() !== "Vehicle preference") {
//run function
} else {
//run function
}
});
答案 1 :(得分:0)
如果你想选择一个动态生成的元素,请尝试使用jquery&#39; s&#39; function。(如果使用小于1.7的jquery版本,则使用&#39; live&#39; function)