如何为隐藏的输入字段添加值?在这种情况下,输入被创建为变量,后者在需要时插入到DOM中。代码:
<script>
var forma = $('form#mali_oglas'),
pomoc = $('div[role=pomoc]'),
div = $('.mali_oglas_pomoc'),
input = forma.find('input, textarea'),
code = forma.find('#code')
time_input = '<input type="hidden" name="time" />',
paid_input = '<input type="hidden" name="paid" value="1" />';
$('textarea').autosize();
input.on('click', function(e){
var name = $(':input:focus').attr("name");
pomoc.fadeOut('slow').promise().done( function(){
div.find("[data-pomoc='" + name + "']").fadeIn('slow');
});
});
code.on('focusout', function(){
var url = '<?php echo base_url() ?>global_info/gi_get_payment_code',
kod = $(this).val();
if ($('input[name=paid]').length != 1)
{
$.post(url, {code : kod}, function(data){
console.log(kod);
$('.mali_oglas_img_paid').slideDown('slow');
code.next('.mali_oglas_greska').remove();
code.after(time_input.val(data) + paid_input)
.css({'border' : '1px solid rgba(34,139,34,.5)'});
});
};
});
code.ajaxError(function() {
$(this).next('.mali_oglas_greska').remove();
$(this).after('<p class=mali_oglas_greska>Uneti kod je pogresan.</p>').css({'border' : '1px solid rgba(255,0,0,.5)'});
});
</script>
答案 0 :(得分:2)
您正在为字符串调用val
方法,您应首先创建一个jQuery对象,更改:
time_input.val(data)
为:
$(time_input).val(data)
请注意,您无法将对象与字符串连接,您应该调用after
方法2次或使用add
方法。
答案 1 :(得分:1)
您正在尝试对仅仅是html字符串
的变量使用jQuery方法您可以将变量转换为包含在$()
如果一个是对象,则无法连接2个输入,因此您需要反转插入
code.after( paid_input).after( $(time_input).val(data) )
/* should place "time_input" before "paid_input"
答案 2 :(得分:0)
time_input
和paid_input
是字符串而不是jQuery对象,请尝试使用
time_input = $('<input type="hidden" name="time" />'),
paid_input = $('<input type="hidden" name="paid" value="1" />');