2016-09-08 4 views
0

У меня есть поле ввода с существующим место держательДобавление дополнительных текста в существующие Закончен Место Использование Jquery

<input type="text" name="property_price" id="property_price" placeholder="Monthly Rent" /> 

Теперь у меня есть функция AJAX возвращения валюты (рупий. Или USD) на основе поле выбора страны выше на форма. Я хочу, чтобы добавить этот АЯКС валюты возвращения в выходящем заполнитель так конечный результат будет выглядеть следующим образом в заполнителях

Ежемесячной аренды (Rs.) Или Месячные арендная плата (USD)

Это должно быть внутри держателя места , Значение «Месячная арендная плата» также поступает из функции jquery, которая гласит: «Месячная арендная плата» или «Цена продажи» в зависимости от того, продается ли предмет в аренду или на продажу.

Аякса Funciton валюта возвращает результат согласно ниже

alert(msg); 

Значение начальной заполнитель исходит от этой функции Jquery.

$('#property_availablefor').on('change', function() { 

     if (this.value == 'Rent') 
     { 
     $("#property_price").attr('placeholder', "Monthly Rent"); 

     } 
     else if (this.value == 'Sale') 
     { 
     $("#property_price").attr('placeholder', "Total Price"); 



     } 

ответ

1

изменить HTML, как:

<input type="text" name="property_price" id="property_price" currency="USD" /> 

Установите globaly

var arr = {'Rent':"Monthly Rent",'Sale':"Total Price"}; 

Установите тип валюты в атрибуте данных на АЯКС успех & обновления Заполнитель если изменить страну после того, как элемент аренды/продажи

$('#property_price').attr('currency',currency); 
if( $('#property_availablefor').val().length > 0) {//check if the rent/sale element was selected 
    $("#property_price").attr('placeholder', $('#property_availablefor').val()+' '+ currency); 
} 

изменить событие будет выглядеть следующим образом:

$('#property_availablefor').on('change', function() { 
    var currency = $('#property_price').attr('currency'); 
     $("#property_price").attr('placeholder', arr[this.value]+' '+ currency); 
}); 
+0

Это будет работать нормально, но вы видите (я редактировал код) мой первоначальное значение заполнителя также исходит от функции JQuery. Я должен был добавить этот код раньше. – DragonFire

+0

обновленный мой asnwer – madalinivascu

+0

это, кажется, не работает, я тоже пытался с ним поиграть, возможно, я что-то упустил. – DragonFire

0
you can do the following: 
$(document).on('change', '<country select box>', function() { 
//your ajax call that returns the currency 
//get the currency value in a variable say 'currencyVal' 
//now assign the placeholder to the textbox. 
var intitialPlaceholderTxt = $("#property_price").attr('placeholder').substring(0, $("#property_price").attr('placeholder').indexOf('(') != -1 ? $("#property_price").attr('placeholder').indexOf('(') : $("#property_price").attr('placeholder').length); 
$("#property_price").attr('placeholder', intitialPlaceholderTxt + ' (' + currencyVal + ')'); 
}); 
+0

с вами код, есть две вещи , 1. Мне нужно пространство между общей ценой и валютой (я нахожусь на php-фоне, поэтому мне помогает эта небольшая вещь. 2. Если вы снова нажмите вариант страны, он будет продолжать добавлять все больше и больше валют .... – DragonFire

+0

ok Я редактирую ответ, который вы можете проверить снова. –