如果我有一个列表框和文本区域:更新文本区域价值
<textarea id="MyTextArea"></textarea>
<select id="SelectList" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
我想做的是......如果有超过0
选择的选项..然后追加文本There are selections
到textarea。
如果用户取消选择选项到有0
选定选项的点,然后从textarea中删除该字符串,但保留用户在该textarea中键入的任何内容。
以下是我有:
$("#SelectList").change(function(){
var count = $("#SelectList> option:selected").length;
var string = "There are selections.";
var txtVal = $("#MyTextArea").val();
if (count > 0 && txtVal.indexOf(string) == -1) {
$("#MyTextArea").append(string);
}
else if (count > 0 && txtVal.indexOf(string) != -1) {
}
else if (count === 0 && txtVal.indexOf(string) != -1) {
var indexOfString = $("#MyTextArea").value.indexOf(string);
$("#MyTextArea").value.substring(0, indexOfString - 1);
}
});
这适用于添加字符串只有一次。但是,当我取消选择所有的选项,以便有0
的选择。我得到这个:
无法获取的未定义或空引用
财产“的indexOf”在这一行:var indexOfString = $("#MyTextArea").value.indexOf(string);
任何帮助表示赞赏。