2014-03-01 121 views
0

对不起,但如果涉及Javascript与HTML,我是一个小菜鸟。 我试图制作一个按钮,当多个复选框被选中时,它会改变它的值。通过JS更改按钮值

例子: 如果一个复选框被选中=按钮:删除1行 如果两个复选框被选中=按钮:删除2行 等

而且我想,当我检查所有复选框这全自动发生。唯一的问题是我不知道如何在按钮中调用它的值。

JS:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
    $('input[type="checkbox"]').click(function() { 
     $("input[type=submit]").val("Delete "+$('input:checkbox:checked').length+" rows"); 
    }); 
</script> 

HTML:

<input type="submit" name="submit" class="btn btn-success" value="Verwijder" /> 

本(PHP)的服务器端不工作(删除行)。 谢谢你的帮助和你的时间!

+2

'value =“checked()”'真的? –

+0

我第一次使用了onclick,唯一的一点是onclick在后面,我想要的是价值。 – RezaM

+0

我应该注意,你不能命名一个函数'checked()',因为它是一个布尔值。考虑命名它'isChecked()' – Spedwards

回答

0
$('input[type="checkbox"]').on("click","input[type=checkbox]",function() 
{ 
    $("input[type=submit]").val("Delete "+$('input:checkbox:checked').length+" rows"); 
}); 
+1

你正在收听太多的事件。 – Spedwards

+0

什么需要是输入按钮的值?感谢您的帮助。 – RezaM

+0

Spedwards - 没问题...我改变了它......但为什么你发布相同的解决方案???我生气 – pooler

0

使用jQuery,您可以更改脚本中元素的值。

$('input[type="checkbox"]').click(function(){ 
    if($(this).attr('checked')===true){ 
     i++; 
    } 
    else{ 
     i--; 
    } 
    $('input[type="submit"]').val("Delete "+i); 
}); 
+0

什么需要是输入按钮的价值?感谢您的帮助。 – RezaM

+0

无论你想要什么。之后将使用'.val()'进行更改。使用一个字符串而不是函数返回。 – sourRaspberri

+1

你不应该使用'attr()',因为它会得到它加载的值。相反,使用'prop()'。 查看道具()vs attr():http://stackoverflow.com/questions/5874652/prop-vs-attr – Spedwards

1

你可以简单的做到这一点听复选框的Click事件,并通过获取的长度应用价值$('input:checkbox:checked')

的jsfiddle:http://jsfiddle.net/spedwards/Ls8sp/

$('input[type="checkbox"]').click(function() { 
    $("input[type=submit]").val("Delete "+$('input:checkbox:checked').length+" rows"); 
}); 
+0

我试图做到这一点,但没有什么会改变。谢谢你给JS小提琴,但没有什么不行。我已经改变了原始文章,看看我现在有什么。感谢您的帮助。 – RezaM

+0

@RezaM你确定你的按钮的输入类型是'submit'吗?你在使用按钮还是输入? – Spedwards

+0

一个按钮, RezaM

2

你可以改变的价值使用此功能的按钮

function change(val) 
{ 
document.getElementById(12345).value=val; 
} 

同时创造按钮给一个ID,它像id="12345" .....

0

什么像这样

HTML

<form> 
    <ul>  
     <li><input type="checkbox" />item one</li> 
     <li><input type="checkbox" />item two</li> 
     <li><input type="checkbox" />item three</li> 
     <li><input type="checkbox" />item four</li> 
     <li><input type="checkbox" />item five</li> 
     <li><input type="checkbox" />item six</li> 
     <li><input type="checkbox" />item seven</li> 
     <li><input type="checkbox" />item eight</li> 
     <li><input type="checkbox" />item nine</li> 
     <li><input type="checkbox" />item ten</li> 
    </ul> 
    <input type="submit" value="Delete (0)" /> 
</form> 

jQuery的

var getChecked = function($form) { 
    return $form.find('input[type="checkbox"]:checked'); 
}; 

$form = $('form').on('submit', function(e) { 
    e.preventDefault(); 
    getChecked($form).each(function() { 
     $(this).parent().remove(); 
    }); 
}); 

$form.find('input[type="checkbox"]').on('change', function(e) { 
    $form.find('input[type="submit"]').val('Delete (' + getChecked($form).length + ')'); 
}); 

看住fiddle