我必须捕获文本框值并显示在从模型生成的div中。
例如:我需要显示" textbox1"值或" textbox2"基于逻辑。这样我就可以从ajax调用中附加文本。
下面是c#语句
return "Expected value is \"+$('#txtAMC').val();
当我将此值附加到div $('#div1').html(result);
时,显示如下
Expected value is "+$('#txtAMC').val()
但我希望结果为
预期值为文本框值
任何正文都可以帮助我如何将文本传递给ajax调用。提前谢谢。
的Javascript
$.ajax({
url: '/XMLCorrections/XMLCorrections/GetUserInput',
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (result) {
$('#div1').html(result)
});
c#中
public string GetUserInput() {
// some Logic return "Expected value is \"+$('#txtAMC').val();
}
答案 0 :(得分:1)
您可以设置"数据" ajax帖子中的属性。 你可以做类似的事情 -
var txtBoxText = $('#txtAMC').val()
var data = {"passedValue":txtBoxText}
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
然后在服务器上使用此值执行任何操作并返回值。
请澄清我是否没有问题。
答案 1 :(得分:0)
根据我的理解,你在回调中得到了这个结果
result = "Expected value is $('#txtAMC').val()";
你想要的是
result = "Expected value is blah";
其中$('#txtAMC').val() === "blah"
您拥有的最佳选择是将GetUserInput
的返回值更改为您需要的文本框的ID
return "txtAMC";
现在,在成功回调中,您可以根据自己的需要进行更改
var resultValue = $("#" + result).val();
$('#div1').html("Expected value is " + resultValue);
答案 2 :(得分:0)
我尝试拆分函数并创建一个匿名函数然后我迭代了该函数。通过这个逻辑,我实现了我想要的输出。
var splitedData=data.split('+');
var formateText= function(val){
try{
var fun=new Function('return '+ val); return fun()
}
catch(e){
return val
}
}
var resultedData="";for(var i=0;i<splitedData.length;i++){
resultedData+=formateText(splitedData[i]);
}
如果有任何简单的解决方案,请提供。