我有一个下拉列表。在字符串值未分配给文本框之后,下拉选择从db获取值。
我的控制器
[HttpPost]
public ActionResult GetCountryBasedCharge(Int64 ID)
{
OrderBilling objOrderBilling = new OrderBilling();
OrderBilling objCalculate = new OrderBilling();
objCalculate = objOrderBilling.AutoCompleteState(ID);
string chargeid =Convert.ToString(objCalculate.ShippingCharge);
return Content(chargeid);
}
我的观点
@Html.DropDownList("Country", (IEnumerable<SelectListItem>)ViewBag.countrytitles,
"-----------Select----------"
, new { id = "txtBCountry", @class = "selectStyle" })</td><td><label style="color:red" >*</label>
<input type="text" class="textbox" id="txtChargeAmts" />
<script type="text/javascript" >
$(document).ready(function () {
var CountryID;
$(function () {
$("#txtBCountry").change(function () {
CountryID = $("#txtBCountry option:selected").val();
$.ajax({
type: "POST",
url: '../Billing/GetCountryBasedCharge',
data: { ID: CountryID },
success: function (data) {
if (data) {
alert(data);
**$('#txtChargeAmts').html(data);**
}
}
});
});
});
</script>
答案 0 :(得分:1)
我假设您的data
参数获得了一个值,如果是这样的话,您的问题就是您试图将返回值作为html而不是输入文本中的值。
如果要为表单输入标记分配值,则应使用.val()
函数
阅读.val()
jquery documentation
尝试更改此行:
$('#txtChargeAmts').html(data);
要
$('#txtChargeAmts').val(data);
答案 1 :(得分:0)
使用
$('#txtChargeAmts').val(data);
取代
$('#txtChargeAmts').html(data);