我有一个Multi Select下拉列表,用户可以从中选择多个项目。
在选项值选择的基础上,动态文本框应以相同的形式生成。
选择单个选项时,应生成3个文本框
第一个文本框显示所选选项的值
第二个文本框显示所选选项的文本
第3个文本框显示为null。
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body align="center">
<input type="text" value="some text"/>
<select id="multiple" multiple="multiple" style="width: 120px;height: 120px;">
<option value="1" >Ashutosh</option>option value="6">Jems Bond</option>
<option value="7">Danial Crack</option> option value="8">Dan Brown</option>
<option value="9">Angilina Jolly</option>
</select>
<script>
function displayVals() {
var multipleValues = $("#multiple").val() || [];
$("input").val(multipleValues);
}
$("select").change(displayVals);displayVals();
</script>
</body>
</html>
答案 0 :(得分:0)
在这里,我为您的查询提供了完整的解决方案。请查看演示链接,如下所示:
演示 http://codebins.com/bin/4ldqp7a
<强> HTML 强>
<form id="frm">
<select id="multiple" multiple="multiple" style="width: 120px;height: 120px;">
<option value="1" >
Ashutosh
</option>
<option value="6">
Jems Bond
</option>
<option value="7">
Danial Crack
</option>
<option value="8">
Dan Brown
</option>
<option value="9">
Angilina Jolly
</option>
</select>
<div id="result">
</div>
</form>
<强> JQUERY 强>
$(function() {
$("#multiple").change(function() {
var multipleValues = $("#multiple").val() || "";
var result = "";
if (multipleValues != "") {
var aVal = multipleValues.toString().split(",");
$.each(aVal, function(i, value) {
result += "<div>";
result += "<input type='text' name='opval" + (parseInt(i) + 1) + "' value='" + value.trim() + "'>";
result += "<input type='text' name='optext" + (parseInt(i) + 1) + "' value='" + $("#multiple").find("option[value=" + value + "]").text().trim() + "'>";
result += "<input type='text' name='option" + (parseInt(i) + 1) + "' value=''>";
result += "</div>";
});
}
//Set Result
$("#result").html(result);
});
});
<强> CSS 强>
#multiple{
margin-bottom:10px;
border:1px solid #333;
background:#efefef;
color:#000;
}
#result input{
margin-left:5px;
border:1px solid #333;
background:#a4c4f4;
margin-top:5px;
}