我有一个带有多个选项的select标签,每个选项都指定一个值。
<select id="dropdown">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
此外,我有以下JQuery脚本。
$(function() {
$(#dropdown).change(function() {
var option = $(this).find("option:selected").text();
var optionValue = $(this).val();
我使用'提醒'检查了两个值,但它们是正确的。现在我想将这些值从视图传递给控制器。我将select标记放在一个表单中并尝试在两个值上使用'.submit()',但这会导致脚本崩溃。我不确定我是否正确使用'.submit()',因为我是JavaScript和Jquery的初学者。简而言之,如何将选项标记值放入我的控制器的方法中?
编辑1
选择标签是一种形式,我一直试图像这样提交:
$(this).val().submit()
编辑2
此外,这是我试图获取值的控制器方法。
[HttpPost]
public ActionResult Index(string dropdown)
{
string value = dropdown;
//--- conditional logic ---
return View()
}
答案 0 :(得分:1)
要使用submit()
,您的下拉列表必须位于<form>
<form method="POST" action="yourControllerUrl/MyAction">
<select id="dropdown" name="dropdownName">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
</form>
在控制器中:
public ActionResult MyAction(string dropdownName)
{
// use your dropdown value here
}
答案 1 :(得分:0)
您可以使用ajax执行此类任务
import asyncio
import time
import sys
from slackclient import SlackClient
class SlackCLI(object):
def __init__(self):
self.token = 'xoxp-TOKEN-HIDDEN'
self.client = SlackClient(self.token)
self.channel = '#general'
def callback(self):
text = sys.stdin.readline()
print('[*] sending: {} to channel {}'.format(text, self.channel))
print(self.client.api_call('chat.postMessage', channel='#general',
text='{}'.format(text),
username='pybot123', icon_emoji=':robot_face:'))
@asyncio.coroutine
def run(self):
if self.client.rtm_connect():
while True:
last = self.client.rtm_read()
if last:
try:
text = last[0]['text']
chan = last[0]['channel']
print('[!] {}: {}'.format(chan, text))
except:
pass
yield from asyncio.sleep(1)
else:
print('connection failed')
def main(self):
loop = asyncio.get_event_loop()
loop.add_reader(sys.stdin, self.callback)
loop.run_until_complete(self.run())
a = SlackCLI()
a.main()
在控制器中使用params并使用&#34; dropDown&#34;获取值。作为关键
答案 2 :(得分:0)
最好的方法是扩展这个.... :)希望它有所帮助。
<强>模型强>
public class Model
{
public int Id { get; set; }
public IEnumerable<Items> items { get; set; }
}
查看
@model App.Models.Model
@using (Html.BeginForm("ActionName", "ControllerName")) {
@Html.DropDownListFor(x => x.Id, Model.Items)
<button type="submit" class="btn btn-info"><i class="fa fa-floppy-o"></i></button>
}
<强>控制器强>
public ActionResult ActionName(Model model)
{
var blah = model.items;
return View(model);
}