1

我有一个名为 selectText 的字符串变量,其中包含以下文本:

<option value="0101" title="xxxx">A</option><option value="0102" title="xxx">B</option> .....

我有一个名为 selectedVal 的字符串变量,其中包含一个可以是“0101”或“0102”等的值

有没有一种使用javascript的方法,如果我提供selectedVal,我可以修改selectText以添加单词selected="selected"。因此,例如,如果 selectedVal 的值为“0102”,那么我将返回添加了 selected="selected" 的 selectText。

<option value="0101" title="xxxx">A</option><option value="0102" selected="selected" title="xxx">B</option>
4

3 回答 3

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)

演示

于 2012-08-12T10:08:47.927 回答
1

如果我们从字面上理解您所说的话,因为您有 2 个字符串变量selectTextselectVal ,那么您只需要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>
于 2012-08-12T10:15:59.363 回答
0
selectText = selectText.replace ('"' + selectedValue + '"', 
    '"' + selectedValue + '" selected="selected"');

将搜索selectedTextselectedValue双引号括起来的内容并将其替换为自身加上字符串'selected="selected"'。我想这就是你所要求的。

预料到您的下一个问题,请使用以下命令还原原始问题:

selectText = selectText.replace (' selected="selected"', '');
于 2012-08-12T10:27:51.443 回答