我正在设置一个元框,用于控制配方的成分数量。由于每个配方都有不同数量的配料,我决定使用一个简单的文本输入和按钮来设置配料的数量,并让jQuery动态添加“X”数字的输入。
我知道我需要使用jQuery表单,但不确定如何将html正确返回到元框中。我设置了一个响应div,但不确定如何处理html。
我是否可以将文本输入的值传递到php函数中,该函数使用for循环打印出所有成分的输入?或者我需要用jQuery打印所有html吗?
希望这是有意义的。
谢谢
我的jQuery有效:
jQuery(\'#add-ingredients\').click(function(event){
event.preventDefault();
var num = jQuery(\'input:text[name=_num_ingredients]\').val();
var sections = \'\';
for(var i=1;i<=num;i++){
section = \'<div id="ingredient-\' + i + \'" class="ingredient-input">\\n\';
section += \'<div class="ingredient-amount alignleft">\\n\';
section += \'<label for="_ingredient_amount_\' + i + \'">Amount: </label>\\n\';
section += \'<input type="text" name="_ingredient_amount_\' + i + \'" /> \\n\';
section += \'</div>\\n\';
section += \'<div class="ingredient-measurement alignleft">\\n\';
section += \'<label for="_ingredient_measurement_\' + i + \'">Measurement: </label>\\n\';
section += \'<input type="text" name="_ingredient_measurement_\' + i + \'" /> \\n\';
section += \'</div>\\n\';
section += \'<div class="ingredient-name alignleft">\\n\';
section += \'<label for="_ingredient_name_\' + i + \'">Ingredient: </label>\\n\';
section += \'<input type="text" name="_ingredient_name_\' + i + \'" /> \\n\';
section += \'</div>\\n\';
section += \'<div class="clear"></div>\\n\';
section += \'</div>\\n\';
sections += section;
}//end for
//add the new input sections
jQuery(\'#ingredients\').html(sections);
//show the ingredients inputs
jQuery(\'#ingredients\').show(\'slow\');
return false;
});
但现在我不知道如何正确保存元数据。
下面是我的for循环:
//loop through all ingredients and update them accordingly
for($i=1; $i<=$num; $i++):
$amt = \'_ingredient_amount_\'.$i;
$meas = \'_ingredient_measurement_\'.$i;
$name = \'_ingredient_name_\'.$i;
//set ingredients array for each iteration
$post_meta[\'_ingredient_amount_\'.$i] = $_POST[\'_ingredient_amount_\'.$i];
$post_meta["{$meas}"] = $_POST["{$meas}"];
$post_meta[$name] = $_POST[$name];
//update meta data
foreach( $post_meta as $key => $value ):
if( $value ):
if( get_post_meta( $post_id, $key, FALSE) ): // If the custom field already has a value
update_post_meta( $post_id, $key, $value );
else: // If the custom field doesn\'t have a value
add_post_meta( $post_id, $key, $value );
endif;
else:
//delete_post_meta( $post_id, $key ); // Delete if blank
endif;
endforeach;
endfor;
我知道在获取$\\u POST值的语法中缺少了一些东西。有什么想法吗?
编辑-------------------------------
我没能将$post变量传递到我的函数中——我真傻。现在一切正常。谢谢你的帮助!