我在下面发布了CodeIgniter代码,在此代码中,我正在发送ajax调用以获取用户输入的音译。一切都很好,但是在这一行:
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val($("#"+modal_field_prefix+"<?php echo $lang; ?>").val().replace(/(^[،\s]+)|([،\s]+$)/g, '') );
我正在尝试修剪输入字段的值,但没有修剪该值,它保持原样。请说明可能是什么问题?
代码:
<?php foreach($this->config->item('allowed_lang') as $code => $lang) { ?>
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val('');
for(i=0; i<all_values.length; i++) {
$.ajax({
type: "GET",
async: true,
dataType: 'json',
url: "https://www.google.com/inputtools/request?text="+all_values[i]+"&ime=transliteration_en_"+"<?php echo $code; ?>"+"&num=5&cp=0&cs=0&ie=utf-8&oe=utf-8&app=jsapi&uv",
success: function (data) {
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val( data[1][0][1][0] +"، "+ $("#"+modal_field_prefix+"<?php echo $lang; ?>").val() );
}
});
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val( $("#"+modal_field_prefix+"<?php echo $lang; ?>").val().replace(/(^[،\s]+)|([،\s]+$)/g, '') );
}
<?php } ?>
答案 0 :(得分:0)
在像这样的替换功能之前使用import docx
doc = docx.Document('TableOfContents.docx')
x = 0
for i in doc.paragraphs:
if x < 20:
print(i.text)
else:
break;
x = x + 1
:
toString
答案 1 :(得分:0)
replace
方法不会替换表达式的值“ in-place”。使用分配获取替换值。
例如:
var string1;
string1 = $("#"+modal_field_prefix+"<?php echo $lang; ?>")
.val().replace(/(^[،\s]+)|([،\s]+$)/g, '');
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val(string1);
答案 2 :(得分:0)
因为Ajax在JavaScript中是异步的。
成功响应后,您的成功功能将开始。但是请求需要时间来获得响应。因此该程序将跳过Ajax回调函数,直接运行下一行代码。
您可以像这样轻松修复它:
for(i=0; i<all_values.length; i++) {
$.ajax({
type: "GET",
async: true,
dataType: 'json',
url: "https://www.google.com/inputtools/request?text="+all_values[i]+"&ime=transliteration_en_"+"<?php echo $code; ?>"+"&num=5&cp=0&cs=0&ie=utf-8&oe=utf-8&app=jsapi&uv",
success: function (data) {
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val( data[1][0][1][0] +"، "+ $("#"+modal_field_prefix+"<?php echo $lang; ?>").val() );
$("#"+modal_field_prefix+"<?php echo $lang; ?>").val( $("#"+modal_field_prefix+"<?php echo $lang; ?>").val().replace(/(^[،\s]+)|([،\s]+$)/g, '') );
}
});
此外,您还可以阅读此链接以了解有关异步JavaScript的全部信息。
https://www.codementor.io/aminmeyghani/learn-asynchronous-javascript-in-2018-fmbib9obw
答案 3 :(得分:0)
您的代码很奇怪。
$("#" + "modal_field_prefix" + "")
您是否忘记了文字字符串“”环绕modal_field_prefix?
一定是
{{1}}