

1条回答 默认 最新
你知我知皆知 2024-08-03 19:16关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在ASP.NET MVC中,当你尝试将
<select>元素与<option>元素组合时,如果想使用JavaScript来改变选项的选中状态,你需要确保在<select>元素上添加onchange事件处理程序。这可以是通过JavaScript或者jQuery实现。首先,在HTML中为你的
<select>元素添加一个onchange事件:<select id="mySelect"> <option value="0">成人</option> <option value="1">儿童</option> <option value="2">婴儿</option> </select> <script> $(document).ready(function () { $('#mySelect').on('change', function () { // 在这里你可以根据选择的值进行操作,例如更新数据库或其他操作。 }); }); </script>然后,在控制器或视图中处理这个事件:
public ActionResult MyAction() { var passengerTypes = new List<SelectListItem>(); if (ModelState.IsValid) { passengerTypes.Add(new SelectListItem { Text = "成人", Value = "0" }); passengerTypes.Add(new SelectListItem { Text = "儿童", Value = "1" }); passengerTypes.Add(new SelectListItem { Text = "婴儿", Value = "2" }); ViewData["PassengerType"] = passengerTypes; } return View(); }在这个例子中,当用户选择不同的选项时,
onchange事件会被触发,并在控制器方法中更新ViewData对象中的PassengerType属性。这样你就可以在服务器端控制哪个选项被选中了。如果你想要直接修改数据源(即
IList<SelectListItem>),可以在控制器方法中这样做:public ActionResult MyAction() { var passengerTypes = new List<SelectListItem>(); if (ModelState.IsValid) { passengerTypes.Add(new SelectListItem { Text = "成人", Value = "0" }); passengerTypes.Add(new SelectListItem { Text = "儿童", Value = "1" }); passengerTypes.Add(new SelectListItem { Text = "婴儿", Value = "2" }); ViewData["PassengerType"] = passengerTypes; // 修改数据源,例如更新到数据库 // ... } return View(); }请注意,这只是一个基本的例子。在实际应用中,你可能需要考虑更复杂的场景和错误处理。
解决 无用评论 打赏 举报