使用Javascript从动态下拉列表中捕获选定值

使用Javascript从动态下拉列表中捕获选定值,javascript,jquery,html,Javascript,Jquery,Html,我试图从表单中的动态下拉列表中获取值,但我的代码不起作用 View.php <div class="input_fields_wrap"> <input type="button" class="btn btn-info add_field_button" value="Tambah Cara Pengolahan" /> <br /><br /> </div> <div class="service-container"

我试图从表单中的动态下拉列表中获取值,但我的代码不起作用

View.php

<div class="input_fields_wrap">
    <input type="button" class="btn btn-info add_field_button" value="Tambah Cara Pengolahan" /> <br /><br />
</div>
<div class="service-container" data-service=
    "<div class='form-group'>
        <select class='form-control' style='width:88%; display:inline-block; margin-right:10px;' name='cara_pengolahan[]' required>
            <option value=''>No Selected</option>
            <?php foreach($pengolahan as $row):?>
            <option value='<?php echo $row->id_pengolahan;?>'><?php echo $row->cara_pengolahan;?></option>
            <?php endforeach;?>></div>
        </select>
        <button class='btn btn-danger closebtn remove_field'><b>&times</b></button>
    </div>"
</div>
Javascript.js

$('.service-container').each(function() {
    var container = $(this);
    var service = container.data('service');
    // Service variable now contains the value of html + php variable;  

    var max_fields      = 10; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap"); //Fields wrapper
    var add_button      = $(".add_field_button"); //Add button ID

    var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append(service);
        }
    });

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault();
        $(this).parent('div').remove();
        x--;
    })
});
var cara_pengolahan = document.forms[0].elements["cara_pengolahan[]"];
if(typeof cara_pengolahan !== 'undefined'){
    for (var i=0; i<cara_pengolahan.length; i++) {
        console.log(cara_pengolahan[i].value);
    }
}
当存在一个动态下拉列表时,它将返回该列表的所有数组值。但我想要的是捕获该下拉列表的选定值

当存在多个动态下拉列表时,它将返回该下拉列表的正确选定值

如何捕获所有动态下拉列表的选定值? 提前感谢。

试试这个:

myval= $("#id").find("option:selected").val();

其中id是选择输入的id要检查是否有动态下拉列表,只需检查选择器是否存在 与


$'elemId'.length>0您可以使用$.CommanClassyourselectbox.findoption:selected.val;我使用array作为html元素下拉列表的名称,因此为此定义了cara_pengolahan[]。我试过你的建议,但是没有用。检查html页面以确保你有正确的id。你必须用你的id替换id。对于html元素,id似乎是有效的。为什么在id中使用brakets?对不起,我的意思是,我使用array作为html元素下拉列表的名称,因此我定义了cara_pengolahan[]。括号表示该下拉列表的值将作为数组发布,因此另一个下拉列表仅表示现有数组中的另一个值。你可以看到我的代码和上面代码的结果。我尝试了你的建议,但没有成功。我使用数组作为html元素下拉列表的名称,所以我定义了cara_pengolahan[],就像上面的代码一样。所以,你的建议不起作用。