我有一个多个select
元素,我将其动态附加到form
来自隐藏的领域。我已经转义了元素中的空格
这是我的隐藏字段
<input type="hidden" id="field1" name="field1" value="<select id=multipleselectid1 name=multipleselectid1 multiple><option value=All Balance Types>All Balance Types</option><option value=010>010 - Opening Ledger Balance</option><option value=011>011 - Average Opening Ledger MTD</option></select>" />
我想默认选择第一个值,即value="All Balance Types"
这是我选择第一个值的代码
var elevalue='All Balance Types';// -------> This doesn't work
var arr1 = elevalue.trim().split('\,');
$('#multipleselectid1').val(arr1);
但是这个值没有被选中
我还实现了一个测试代码来检查是否有其他值被选中。所以我尝试了这段代码
var elementvalue='010,011'; //-----------> This works
var arr = elementvalue.trim().split('\,');
$('#multipleselectid1').val(arr);
此代码段正在运作
为什么只有第一个值未被选中?
这是 fiddle 以上示例
答案 0 :(得分:2)
从selectbox中的值中删除
并在值中添加单引号:
$(document).ready(function(){
$('#myform').append($('#field1').val());
var elementvalue='All Balance Types'; //-----------> This works
var arr = elementvalue.trim().split('\,');
$('#multipleselectid1').val(arr);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="hidden" id="field1" name="field1" value="<select id=multipleselectid1 name=multipleselectid1 multiple><option value='All Balance Types'>All Balance Types</option><option value=010>010 - Opening Ledger Balance</option><option value=011>011 - Average Opening Ledger MTD</option></select>" />
<form id="myform">
</form>
&#13;
答案 1 :(得分:2)
我能够通过用单引号包装value
属性,并在双引号中放入它们应该在html中来制作小提琴。
但是,我高度建议远离将页面的一部分附加到另一部分的字符串html。它非常容易受到XSS攻击。
<input type="hidden" id="field1" name="field1" value='<select id="multipleselectid1" name="multipleselectid1" multiple><option value="All Balance Types">All Balance Types</option><option value="010">010 - Opening Ledger Balance</option><option value="011">011 - Average Opening Ledger MTD</option></select>' />