js如何控制select标签哪个被选中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何控制select标签哪个被选中相关的知识,希望对你有一定的参考价值。
我要触发一个方法,里面执行select标签设置为默认的第一个option,如何操作?
我是这么写的,不知道哪里错了
document.getElementById("test“).options[0].selected=true;
JS 控制select选中项,代码如下:
<html><script type="text/javascript">
var selectedValue = \'<%= request.getAttribute("line")%>\';
function changeSelected()
jsSelectItemByValue(document.getElementById("mySelect"),selectedValue);
function jsSelectItemByValue(objSelect,objItemText)
for(var i=0;i<objSelect.options.length;i++)
if(objSelect.options[i].value == objItemText)
objSelect.options[i].selected = true;
break;
</script>
<body onload="changeSelected()">
<select id="mySelect" name="mySelect">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</body>
</html> 参考技术A 这样写没错,可能是你别的地方JS写错了,导致JS没作用不执行,仔细检查看
也可用用JQUERY 引入JQUERY.js
$('#test option:first').attr('selected','selected');本回答被提问者采纳 参考技术B selected="selected"
这样写 参考技术C test右边的冒号错了 参考技术D <html>
<script type="text/javascript">
var selectedValue = '<%= request.getAttribute("line")%>';
jsSelectItemByValue(document.getElementById("mySelect"),selectedValue);
function jsSelectItemByValue(objSelect,objItemText)
for(var i=0;i<objSelect.options.length;i++)
if(objSelect.options[i].value == objItemText)
objSelect.options[i].selected = true;
break;
</script>
<body onload="changeSelected()">
<select id="mySelect" name="mySelect">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</body>
</html>
雷锋的代码有效..只是需要触发一下...我修改了一下..反正在我这是成功了的
如何更改视图控制器中的标签 我要加载一个 tableviewcell 被选中? [复制]
【中文标题】如何更改视图控制器中的标签 我要加载一个 tableviewcell 被选中? [复制]【英文标题】:How do I change the label in a view controller I want to load a tableviewcell is selected? [duplicate] 【发布时间】:2020-11-23 16:25:07 【问题描述】:当用户点击一行时,我想转到一个视图控制器,该控制器将以所选行的名称作为标签文本。
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
let pvc = segue.destination as! ProfileViewController
let indexpath = tableView.indexPathForSelectedRow
if let unwrappedPath = indexpath
tableView.deselectRow(at: unwrappedPath, animated: true)
pvc.profileName.text = userList[unwrappedPath.row]
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
performSegue(withIdentifier: "goToProfile", sender: self)
第 66 行是以下代码:pvc.profileName.text = userList[unwrappedPath.row] pic.profileName.text 的 text 属性此时为 nil,即使我将 userList 路径中的字符串分配给标签的 text 属性。
控制台:
致命错误:在隐式展开可选值时意外发现 nil:文件 (filenamegoeshere)/FoundTableViewController.swift,第 66 行
【问题讨论】:
【参考方案1】:您正在尝试引用尚未实例化的视图 (profileName
)。
你应该像这样在ProfileViewController
中声明一个全局变量
var expectedString = ""
并像这样编辑您的 prepare(for segue: ...)
方法
guard let pvc = segue.destination as? ProfileViewController else return
let indexpath = tableView.indexPathForSelectedRow
if let unwrappedPath = indexpath
tableView.deselectRow(at: unwrappedPath, animated: true)
pvc.expectedString = userList[unwrappedPath.row]
然后你可以在ProfileViewController
的viewWillAppear
方法中设置你的标签文本:
override func viewWillAppear(_ animated: Bool)
profileName.text = expectedString
【讨论】:
非常感谢!以上是关于js如何控制select标签哪个被选中的主要内容,如果未能解决你的问题,请参考以下文章