Javascript 是否有一种方法可以使用jQuery自动完成一个字段与另一个字段的对应?
template.htmlJavascript 是否有一种方法可以使用jQuery自动完成一个字段与另一个字段的对应?,javascript,jquery,django,autocomplete,Javascript,Jquery,Django,Autocomplete,template.html <div class="form-group col-sm-12 col-md-12"> <label for="id_amount_in_figure">Amount in figure:</label> <input type="number" name="amount_in_figure" id="id_amount_in_figure"> </div> <div class="f
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_figure">Amount in figure:</label>
<input type="number" name="amount_in_figure" id="id_amount_in_figure">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_word">Amount in word:</label>
<input type="text" name="amount_in_word" id="id_amount_in_word">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_figure">Amount in figure:</label>
<input type="number" onkeyup="word.innerHTML=convertNumberToWords(this.value)"
name="amount_in_figure" id="id_amount_in_figure">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_word">Amount in word:</label>
<input type="text" name="amount_in_word" id="id_amount_in_word">
</div>
<script type="text/javascript">
function convertNumberToWords(amount) {
var words = new Array();
words[0] = '';
words[1] = 'One';
words[2] = 'Two';
words[3] = 'Three';
words[4] = 'Four';
words[5] = 'Five';
words[6] = 'Six';
words[7] = 'Seven';
words[8] = 'Eight';
words[9] = 'Nine';
words[10] = 'Ten';
words[11] = 'Eleven';
words[12] = 'Twelve';
words[13] = 'Thirteen';
words[14] = 'Fourteen';
words[15] = 'Fifteen';
words[16] = 'Sixteen';
words[17] = 'Seventeen';
words[18] = 'Eighteen';
words[19] = 'Nineteen';
words[20] = 'Twenty';
words[30] = 'Thirty';
words[40] = 'Forty';
words[50] = 'Fifty';
words[60] = 'Sixty';
words[70] = 'Seventy';
words[80] = 'Eighty';
words[90] = 'Ninety';
amount = amount.toString();
var atemp = amount.split(".");
var number = atemp[0].split(",").join("");
var n_length = number.length;
var words_string = "";
if (n_length <= 9) {
var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
var received_n_array = new Array();
for (var i = 0; i < n_length; i++) {
received_n_array[i] = number.substr(i, 1);
}
for (var i = 9 - n_length, j = 0; i < 9; i++ , j++) {
n_array[i] = received_n_array[j];
}
for (var i = 0, j = 1; i < 9; i++ , j++) {
if (i == 0 || i == 2 || i == 4 || i == 7) {
if (n_array[i] == 1) {
n_array[j] = 10 + parseInt(n_array[j]);
n_array[i] = 0;
}
}
}
value = "";
for (var i = 0; i < 9; i++) {
if (i == 0 || i == 2 || i == 4 || i == 7) {
value = n_array[i] * 10;
} else {
value = n_array[i];
}
if (value != 0) {
words_string += words[value] + " ";
}
if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Crore ";
}
if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Lakh ";
}
if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Thousand ";
}
if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {
words_string += "Hundred ";
} else if (i == 6 && value != 0) {
words_string += "Hundred ";
}
}
words_string += " only"
words_string = words_string.split(" ").join(" ");
}
$( "#id_amount_in_word" ).val( words_string );
}
</script>
有没有一种方法可以让我使用上面这样的功能将数字转换为单词?只要有人在图中的“金额”字段中输入一个数字,然后按tab按钮,下面的字段(即word中的金额)就会自动填充?这可以通过jquery实现。这是一个jquery函数。此功能将 template.html
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_figure">Amount in figure:</label>
<input type="number" name="amount_in_figure" id="id_amount_in_figure">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_word">Amount in word:</label>
<input type="text" name="amount_in_word" id="id_amount_in_word">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_figure">Amount in figure:</label>
<input type="number" onkeyup="word.innerHTML=convertNumberToWords(this.value)"
name="amount_in_figure" id="id_amount_in_figure">
</div>
<div class="form-group col-sm-12 col-md-12">
<label for="id_amount_in_word">Amount in word:</label>
<input type="text" name="amount_in_word" id="id_amount_in_word">
</div>
<script type="text/javascript">
function convertNumberToWords(amount) {
var words = new Array();
words[0] = '';
words[1] = 'One';
words[2] = 'Two';
words[3] = 'Three';
words[4] = 'Four';
words[5] = 'Five';
words[6] = 'Six';
words[7] = 'Seven';
words[8] = 'Eight';
words[9] = 'Nine';
words[10] = 'Ten';
words[11] = 'Eleven';
words[12] = 'Twelve';
words[13] = 'Thirteen';
words[14] = 'Fourteen';
words[15] = 'Fifteen';
words[16] = 'Sixteen';
words[17] = 'Seventeen';
words[18] = 'Eighteen';
words[19] = 'Nineteen';
words[20] = 'Twenty';
words[30] = 'Thirty';
words[40] = 'Forty';
words[50] = 'Fifty';
words[60] = 'Sixty';
words[70] = 'Seventy';
words[80] = 'Eighty';
words[90] = 'Ninety';
amount = amount.toString();
var atemp = amount.split(".");
var number = atemp[0].split(",").join("");
var n_length = number.length;
var words_string = "";
if (n_length <= 9) {
var n_array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
var received_n_array = new Array();
for (var i = 0; i < n_length; i++) {
received_n_array[i] = number.substr(i, 1);
}
for (var i = 9 - n_length, j = 0; i < 9; i++ , j++) {
n_array[i] = received_n_array[j];
}
for (var i = 0, j = 1; i < 9; i++ , j++) {
if (i == 0 || i == 2 || i == 4 || i == 7) {
if (n_array[i] == 1) {
n_array[j] = 10 + parseInt(n_array[j]);
n_array[i] = 0;
}
}
}
value = "";
for (var i = 0; i < 9; i++) {
if (i == 0 || i == 2 || i == 4 || i == 7) {
value = n_array[i] * 10;
} else {
value = n_array[i];
}
if (value != 0) {
words_string += words[value] + " ";
}
if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Crore ";
}
if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Lakh ";
}
if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {
words_string += "Thousand ";
}
if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {
words_string += "Hundred ";
} else if (i == 6 && value != 0) {
words_string += "Hundred ";
}
}
words_string += " only"
words_string = words_string.split(" ").join(" ");
}
$( "#id_amount_in_word" ).val( words_string );
}
</script>
数字金额:
大写金额:
函数转换器NumberToWords(金额){
var words=新数组();
字[0]='';
字[1]=“一”;
字[2]=“两个”;
字[3]=“三”;
字[4]=“四”;
字[5]=“五”;
字[6]=“六”;
字[7]=“七”;
字[8]=“八”;
字[9]=“九”;
字[10]=“十”;
字[11]=“十一”;
字[12]=“十二”;
字[13]=“十三”;
字[14]=“十四”;
字[15]=“十五”;
字[16]=“十六”;
字[17]=“十七”;
字[18]=“十八”;
字[19]=“十九”;
字[20]=“二十”;
字[30]=“三十”;
字[40]=“四十”;
字[50]=“五十”;
字[60]=“六十”;
字[70]=“七十”;
字[80]=“八十”;
字[90]=“九十”;
amount=amount.toString();
var atemp=金额拆分(“.”);
var number=atemp[0]。拆分(“,”)。联接(“”);
var n_length=number.length;
var words_string=“”;
如果(n_)长度这可以通过Javascript自动完成来实现吗?是的,这可以通过jquery自动完成轻松实现,尽管它只会显示用箭头键或鼠标单击导航的建议。不完全确定如何进行选项卡选择,但无论如何都是可能的。