如何更改点击输入值?
我通过ajax加载内容,并希望更改每个复选框的值,如果单击它们。 我试试
function calculate(){ if($('input[type=checkbox][checked]')) { $(this).attr({ value: 1 }); } else { $(this).attr({ value: 0 }); } calculatebbb(); }
并添加到每个输入:
但是它不会检查这个元素,它会清除所有元素。
这可以随意使用
HTML
使用Javascript
function calculate(checkbox){ console.log($(checkbox)); if($(checkbox).attr("checked")) { $(checkbox).val(1); } else { $(checkbox).val(0); } calculatebbb(); }
你做错了什么:
this
不是你的输入。 如果您使用console.log(this)
检查。
另外input[type=checkbox][checked]
不会选择你的输入,也可以在这里使用id。
您可以使用.val(1)
设置值
尝试排序一个
if($('input[type=checkbox]')bind('click', function(){ $(this).attr('checked', !$(this).attr('checked')); });
试试这个:
...ajax call... success: function(data) { ... append Your input elements to #myDiv ... $('#myDiv input').bind('click', function(){ var that = $(this); if( that.is(':checked') ) { that.val(1) } else { that.val(0) } calculatebbb(); }); }, ...
代替
$(this).attr({ value: 1 });
尝试
$(this).val(1);
//编辑 :另一个错误是你在函数calculate
使用this
。 这里指的是function – 而不是输入。 你应该使用这样的jQuery:
$(document).ready(function() { $('input').click(function() { // do your things with this }); });
而不是在HTML中定义点击处理程序。
在这种情况下应该是这样的。 $(this).val(’value you wan to put’);
如果你不想使用jquery document.getElementById(’id’)。value = xxx; 但在这种情况下,你要把id为html元素。
将您的代码更改为:
function calculate(obj) { obj.value = obj.checked + 0; calculatebbb(); }
和HTML:
因此,如果选中的值将变为1,如果未选中则为0。