案例
我已經制作了一個表單,您可以使用文章進行訂購。文章以另一種形式插入表格中。在這些表格中,文章會保存有文章代碼,說明和價格。jQuery根據選擇值並結合多行(父函數?)填充表格中的文本輸入
這個想法是,您在表單中選擇一篇文章來下訂單。如果您選擇文章(帶有選擇輸入),價格會自動填入「價格」輸入字段。
問題
此刻我的問題是,當你選擇一排的一篇文章,該腳本中相關文章價格填補了所有其他行,而不是僅在選擇輸入是在該行中 我想我必須在我使用的Ajax代碼中使用partent函數,但我不知道該怎麼做。
誰能給我一些建議嗎?
我用下面的阿賈克斯/ 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>
的的getData文件包含以下代碼:
$clientId = "-1";
if (isset($_POST['Article_ID'])) {
$clientId = $_POST['Article_ID'];
}
mysql_select_db($database_connDatabase, $connDatabase);
$query_Recordset1 = sprintf("SELECT * FROM articles WHERE id = %s", GetSQLValueString($Article_ID, "int"));
$Recordset1 = mysql_query($query_Recordset1, $connDatabase) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
$add1 = $row_Recordset1['description'];
$add2 = $row_Recordset1['price'];
$arr = array('input#description' => $add1, 'input#price' => $add2);
echo json_encode($arr);
mysql_free_result($Recordset1);
的形式包含了規則如下代碼:
<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>