2016-09-08 69 views
0

我有一個輸入字段,根據一國選擇框上方的現有佔位添加附加文本到現有的佔位符使用jQuery

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

現在我有一個Ajax函數返回的貨幣(盧比或美元)表格。我想添加這個AJAX貨幣回報到退出的佔位符所以最後的結果會是這樣的佔位符

每月租金(RS)或 每月租金(USD)

這應該是佔位符內。價值「每月租金」也來自一個jQuery的功能,它說「月租」或「售價」取決於該項目是出租還是出售。

AJAX的功能可按貨幣從該jQuery函數返回其結果作爲每下面

alert(msg); 

初始佔位符的值來了。

$('#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

好的我正在編輯答案,您可以再次查看。 –

相關問題