javascript - 当您从列表中选择时,Jquery 动态添加字段

标签 javascript jquery html

需要帮助来完成字段的动态添加。我有 HTML 下拉列表。

<div class="input_fields_wrap">           
<select id="list1" name="mytext[]">
        <option value="First">First</option>
        <option value="Second">Second</option>
        <option value="Third">Third</option>
        <option value="addq">Add your question</option>
</select>
<div id="youq">
<!-- You Question field --> 
</div>
</div>
    <a class="add_field_button">+ Add new question</a>

和Jquery代码

//---- Add field script ----//
$(document).ready(function() {
var max_fields      = 3;
var wrapper         = $(".input_fields_wrap"); 
var add_button      = $(".add_field_button");  
var x = 1;
$(add_button).click(function(e){
    e.preventDefault();
    if(x < max_fields){
        x++; 
        $(wrapper).append('<div><select name="mytext[]"><option value="First">First</option><option value="Second">Second</option><option value="Third">Third</option><option value="addq">Add your question</option></select><a href="#" class="remove_field">Remove</a></div>');
    }
});

$(wrapper).on("click",".remove_field", function(e){ 
    e.preventDefault(); $(this).parent('div').remove(); x--;})
});

//Add question fields
$('#list1').change(function(){
    if($("#list1").val() == 'addq'){            
    $('#youq').html("<input class='youquestion' placeholder='Input you     question'/>");
    }
 else {$('#youq').html("");};
});

完成所有这些都是为了能够从列表中选择问题或添加您自己的问题。 通过单击“+ 添加新问题”添加下拉列表效果很好。 但是,当您从列表中选择“添加您的问题”时,我在添加文本框时遇到问题。 如果您从第一个列表中选择它,则会显示该字段。 但是,如果您单击“+ 添加新问题”并在新列表中选择“添加您的问题”,则不会显示新文本字段。 请帮助我。

jsfiddle

编辑

最佳答案

你必须使用.live():

$("select").live('change', function(){
    if($(this).val() == 'addq'){ 
        $(this).next().append("<input class='youquestion' placeholder='Input you question'/>");
    }
 });

您可以检查以下 fiddle 。

http://jsfiddle.net/zpgvLk05/6/

关于javascript - 当您从列表中选择时,Jquery 动态添加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29491143/

相关文章:

jQuery ajax 页面重新加载

javascript - 如何使用 Jest 和/或 Enzyme 测试 React 组件呈现的样式和媒体查询

javascript - 显示加载图像并在页面链接上加载新页面

javascript - 将组件作为普通 JS 对象进行 react ?

javascript - 没有 tbody 和 th block 的 jquery tablesorter 用法

javascript - JQuery:从 URL 检索数据

javascript - 使用 jQuery 根据无序列表选择选择选项

html - 为什么我的背景延伸到页面顶部的边缘,而不是底部?

javascript - Firefox 扩展打开一个 HTML 选项页面

javascript - 如果它是 IE,我该如何包含一个 javascript,如果是其他任何东西,我该如何包含另一个 javascript?