使用Javascript从动态下拉列表中捕获选定值
我试图从表单中的动态下拉列表中获取值,但我的代码不起作用 View.php使用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"
<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>×</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[],就像上面的代码一样。所以,你的建议不起作用。