समस्या आपके AJAX अनुरोध के साथ नहीं है, लेकिन आपके द्वारा उपयोग किए जाने वाले jQuery चयनकर्ताओं के साथ है। Jquery में $('.value')
वर्ग "मान" वाले सभी डीओएम तत्वों का अर्थ है। तो $(".price")
वर्ग "कीमत" वाले सभी तत्वों का चयन करेंगे, लेकिन मुझे उनमें से कोई भी दिखाई नहीं दे रहा है। इसके नाम से कुछ चुनने के लिए आपको $('input[name=price]')
का उपयोग करना होगा . यह "कीमत" नाम के साथ सभी इनपुट का चयन करेगा। उन सभी इनपुट का चयन करने के लिए जिनका नाम मूल्य से शुरू होता है, $('input[name^=price]')
का उपयोग करें . आपकी समस्या का समाधान शायद SELECT और INPUT तत्व को एक कंटेनर में रखना है, और केवल पत्राचार INPUT का चयन करना है।
<div>
<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>
<input type='text' name='price[]'>
</div>
<div>
<select name='pro_name[]'>
<option value='1'>Pro 1</option>
<option value='2'>Pro 2</option>
<option value='3'>Pro 3</option>
</select>
<input type='text' name='price[]'>
</div>
<script type="text/javascript">
var $last_select = null;
$(document).ready(function(){
$("select[name^=pro_name]").change(function(){
$last_select = $(this);
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "POST",
url: "get_price.php",
data: dataString,
cache: false,
success: function(html)
{
$('input[name^=price]', $last_select.parent()).val(html);
}
});
});
});
</script>
पहेली:http://jsfiddle.net/8rsxay8q/1/