我在谷歌搜索了很多次,但我找不到答案。 我有一个Select html标签,它有3个选项标签。我想用Jquery Ajax传递这些选择值,但我不能。
这是我的Html标签
<select id="discount" onchange="discountPostback()" title="">
<option value=""></option>
<option value="0">نمایش کل </option>
<option value="1">نمایش افراد با تخفیف</option>
<option value="2">نمایش افراد بدون تخفیف</option>
</select>
javascript
function discountPostback() {
debugger;
$.ajax({
url: '@Url.Action("Index","Report")',
type: 'POST',
data: { type: $('discount').val },
success: function () {
},
error: function () {
alert("error");
}
});
return false;
}
MVC控制器
public ActionResult Index(short? type)
我怎样才能传递价值?没有更多
答案 0 :(得分:2)
您的代码只有几个问题。请参阅下面的工作示例。
$(document).ready(function() {
$('#discount').on('change', function() {
alert($('#discount').val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<select id="discount" onchange="discountPostback()" title="">
<option value=""></option>
<option value="0">نمایش کل</option>
<option value="1">نمایش افراد با تخفیف</option>
<option value="2">نمایش افراد بدون تخفیف</option>
</select>
您需要使用需要选择器中#
的ID选择选择,而val()
是jQuery
方法来获取选择的值,而不是其他任何内容,如下所示。
<强>修正强>
$('#discount').val()
进一步阅读
答案 1 :(得分:1)
$("#discount").val()
返回所选选项的值
$("#discount").text()
返回所选选项的文字
我认为你想要
答案 2 :(得分:1)
从jQuery Ajax添加以下行
$('#discount option:selected').val();
您可以通过添加从所选下拉列表中打印这些值 以下是Ajax以上的行,即来自JavaScript
var discount = $('#discount option:selected').val();
console.log(discount);
答案 3 :(得分:1)
Try This
function discountPostback() {
debugger;
$.ajax({
url: '@Url.Action("Index","Report")',
type: 'POST',
data: '{ type: $('#discount').val() }',
success: function () {
},
error: function () {
alert("error");
}
});
return false;
}