我有一个名为selectText的字符串变量,它包含以下文本:
<option value="0101" title="xxxx">A</option><option value="0102" title="xxx">B</option> .....
我有一个名为selectedVal的字符串变量,它包含一个可能是“0101”或“0102”等的值
有没有办法使用javascript我可以修改selectText,如果我提供了selectedVal,则会添加selected =“selected”字样。因此,例如,如果selectedVal的值为“0102”,那么我将返回selectText,其中添加了selected =“selected”。
<option value="0101" title="xxxx">A</option><option value="0102" selected="selected" title="xxx">B</option>
答案 0 :(得分:2)
试试这个:
$('select').val(selectedVal)
或:
$('select option[value='+selectedVal+']').prop('selected', true)
或者,您可以在附加选项后使用select
方法设置val()
元素的值:
var selectText = '<option value="0101" title="xxxx">A</option><option value="0102" title="xxx">B</option';
var selectVal ='0102';
$('select').append(selectText).val(selectVal)
答案 1 :(得分:1)
如果我们按字面意思理解你有2个字符串变量 selectText 和 selectVal 那么你只需要使用字符串replace
你的 selectText 变量。像这样:
var selectText = '<option value="0101" title="xxxx">A</option><option value="0102" title="xxx">B</option>';
var selectedVal = '0102';
var pattern = 'value="' + selectedVal + '"';
selectText = selectText.replace(pattern, pattern + ' selected="selected"');
这导致字符串变量 selectText 具有以下值:
<option value="0101" title="xxxx">A</option><option value="0102" selected="selected" title="xxx">B</option>
答案 2 :(得分:0)
selectText = selectText.replace ('"' + selectedValue + '"',
'"' + selectedValue + '" selected="selected"');
将selectedText
搜索用双引号括起来的selectedValue
,并将其替换为自身加上字符串'selected="selected"'
。我想这就是你要求的。
预测您的下一个问题,请使用以下内容恢复原始内容:
selectText = selectText.replace (' selected="selected"', '');