Javascript jQuery基于select值和多行(父函数?)
案例Javascript jQuery基于select值和多行(父函数?),javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,案例 我已经做了一个表格,你可以用它订购物品。项目以另一种形式插入到表中。在这些表中,物品与物品代码、说明和价格一起保存 这样做的想法是,您可以在表单中选择一篇文章来进行订购。如果您选择了物品(带有选择输入),则价格将自动填入“价格”输入字段 问题 目前,我的问题是,当您在一行中选择一篇文章时,脚本会在所有其他行中填充关联的文章价格,而不仅仅是在选择输入所在的行中。 我想我必须在我使用的Ajax代码中使用partent函数,但我不知道怎么做 谁能给我一些建议吗 我使用以下Ajax/jQuery脚
我已经做了一个表格,你可以用它订购物品。项目以另一种形式插入到表中。在这些表中,物品与物品代码、说明和价格一起保存 这样做的想法是,您可以在表单中选择一篇文章来进行订购。如果您选择了物品(带有选择输入),则价格将自动填入“价格”输入字段 问题
目前,我的问题是,当您在一行中选择一篇文章时,脚本会在所有其他行中填充关联的文章价格,而不仅仅是在选择输入所在的行中。 我想我必须在我使用的Ajax代码中使用partent函数,但我不知道怎么做 谁能给我一些建议吗 我使用以下Ajax/jQuery脚本:
<script type="text/javascript">
jQuery(document).ready(function(){
var id = $(this).parent();
jQuery('#Article_ID').live('change', function(event) {
$.ajax({
url : 'getData.php',
type : 'POST',
dataType: 'json',
data : $('#myForm').serialize(),
success: function( data ) {
for(var id in data) {
$(id).val( data[id] );
}
}
});
});
});
</script>
该表单包含以下规则代码:
<script type="text/javascript">
var count = 0;
$(function(){
$('p#add_field').click(function(){
count += 1;
$('#container').append('<div class="regel"><select id="Article_ID" name="Article_ID" style="width:17px; height:30px; border:none;margin-right:0px;"><option value="">Select</option><option value="1">1</option><option value="2">2</option></select><input id="description" name="description[]' + '" type="text" class="field-l" style="width:425px"/><input id="price" name="price[]' + '" type="text" value="0.00" class="field-l" style="width:75px; margin-left:6px; text-align:right"/></p>' );
});
});
</script>
var计数=0;
$(函数(){
$('p#添加_字段')。单击(函数(){
计数+=1;
$(“#容器”).append('Select12);
});
});
脚本在所有其他行中填写相关的商品价格,而不是仅在select输入所在的行中填写
这是因为您将新行onClick
(。
)附加到相同ID:文章ID
,说明
,价格
。属性ID
必须是唯一的
试试看。
更改下一步(PHP):
致:
更改JS
:
jQuery('#Article_ID').live('change', function(event) {
var parent = $(this).parent(); // current `<div class="regel">`
$.ajax({
url : 'getData.php',
type : 'POST',
dataType: 'json',
data : $('#myForm').serialize(),
success: function( data ) {
$(parent+" #description").val(data.description); //
$(parent+" #price").val(data.price);
}
});
});
jQuery('#Article_ID').live('change',函数(event){
var parent=$(this).parent();//当前``
$.ajax({
url:'getData.php',
键入:“POST”,
数据类型:“json”,
数据:$('#myForm')。序列化(),
成功:功能(数据){
$(父级+“#描述”).val(数据.description);//
$(parent+“#price”).val(data.price);
}
});
});
$arr = array( 'input#description' => $add1, 'input#price' => $add2 );
echo json_encode( $arr );
$arr = array( 'description' => $add1, 'price' => $add2 );
echo json_encode( $arr );
die;
jQuery('#Article_ID').live('change', function(event) {
var parent = $(this).parent(); // current `<div class="regel">`
$.ajax({
url : 'getData.php',
type : 'POST',
dataType: 'json',
data : $('#myForm').serialize(),
success: function( data ) {
$(parent+" #description").val(data.description); //
$(parent+" #price").val(data.price);
}
});
});