Javascript jquery复选框,带有限制dinamis

Javascript jquery复选框,带有限制dinamis,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我有以下html: <input type="checkbox" id="perlengkapans" data-stok="[1]" onchange="ambil($(this))"> name item 1 <input type="checkbox" id="perlengkapans" data-stok="[4]" onchange="ambil($(this))"> name item 2 <input type="checkbox" id="

我有以下html:

<input type="checkbox" id="perlengkapans" data-stok="[1]" onchange="ambil($(this))"> name item 1
  <input type="checkbox" id="perlengkapans" data-stok="[4]" onchange="ambil($(this))"> name item 2
  <input type="checkbox" id="perlengkapans" data-stok="[0]" onchange="ambil($(this))"> name item 3
如果股票已达到上限,我想显示一条消息“您可以最大化”。

但它并没有显示这一信息。请提供帮助。

更改输入属性-
onchange=“ambil((此))”

你的职责是什么-

function ambil(x) {
        limit = $(x).data('stok')
        cnt = $('#perlengkapans:checked').length
        if (cnt > parseInt(limit,10) ) {
            $(x).prop('checked', '')
            alert('you can maximum ' + limit)
        }
    }

不确定,您的代码实现了什么

但是,根据您的代码,以下是更正:

1) 在HTMLDOM中,一个元素应该只有一个id。简而言之,
id
是一个唯一的属性。在您的例子中,有三个元素具有相同的
id
。我需要修理它

2) 将
id
属性更改为
name
并访问该属性。可以有多个同名元素

更正代码:

<input type="checkbox" name="perlengkapans" data-stok="[1]" onchange="ambil($(this))"> name item 1
  <input type="checkbox" name="perlengkapans" data-stok="[4]" onchange="ambil($(this))"> name item 2
  <input type="checkbox" name="perlengkapans" data-stok="[0]" onchange="ambil($(this))"> name item 3
<script>
  function ambil(x){
    var limit = x.data('stok')
    var cnt = $('[name=perlengkapans]:checked').length; // observe what is changed here.
    if (cnt>limit){
    x.prop('checked', '')
    alert('you can maximum '+ limit)}}
</script>
名称项目1
名称项目2
名称项目3
函数ambil(x){
风险限额=x.data('stok'))
var cnt=$('[name=perlengkapans]:选中')。长度;//观察此处的更改。
如果(cnt>限制){
x、 道具('选中','')
警报('您可以设置最大值'+限制)}

首先,不应重复ID,逻辑似乎是错误的。试试下面的方法

  <input type="checkbox" id="perlengkapans1" name="perlengkapans" data-stok="1" value="name item 1" />
  <input type="checkbox" id="perlengkapans2" name="perlengkapans" data-stok="4" value="name item 2" />
  <input type="checkbox" id="perlengkapans3" name="perlengkapans" data-stok="0" value="name item 3" />

perlengkapans
此id应该是唯一的。改用类,并将其用作选择器或问题的声音不清晰。提供更多细节。
  <input type="checkbox" id="perlengkapans1" name="perlengkapans" data-stok="1" value="name item 1" />
  <input type="checkbox" id="perlengkapans2" name="perlengkapans" data-stok="4" value="name item 2" />
  <input type="checkbox" id="perlengkapans3" name="perlengkapans" data-stok="0" value="name item 3" />
$("input[name='perlengkapans']").on("change", function(){
    if($("input[name='perlengkapans']":checked").length > $(this).data('stok')) {
           // Display Alert
       }             
    });
});