使用jQuery更改PHP生成的动态复选框值

时间:2018-06-26 04:02:50

标签: jquery checkbox

复选框值已通过php动态设置

<ul>
    <li><input type="checkbox" name="menu[]" value="1">Politics         
        <ul>
            <li><input type="checkbox" name="submenu[1][1]" value="2">International</li>
            <li><input type="checkbox" name="submenu[1][2]" value="2">National</li>
        </ul>
    </li>
    <li><input type="checkbox" name="menu[]" value="2">Views</li>
    <li><input type="checkbox" name="menu[]" value="3">Sport            
        <ul>
            <li><input type="checkbox" name="submenu[3][1]" value="2">Volleyball</li>
            <li><input type="checkbox" name="submenu[3][2]" value="2">Cricket</li>
        </ul>
    </li>
</ul>

现在,我可以使用jquery删除复选框值吗?我只想删除具有menu[]的{​​{1}}的值。例如,我使用以下方式将这些submenu[][]复选框设置为只读。

menu[]

现在我想添加这个技巧,但是不起作用

$('li:has(> ul)').find('[name="menu[]"]').click(false);

$('li:has(> ul)').find('[name="menu[]"]').val('');
  // Here value is inserted using jquery
$('input[name="project"]').val("Good Fish");

  // But this is not working
$('li:has(> ul)').find('[name="menu[]"]').val('');

// This is working
$('li:has(> ul)').find('[name="menu[]"]').click(false);



$('[name="menu[]"] + ul input').click(function(){
		$(this).closest("ul").prev("input").prop("checked", ($(this).closest("ul").find("input:checked").length > 0));
	});
		$(document).on('submit','#form',function(e){
			e.preventDefault();
		if($("[name='menu[]']:checked").length == 0){
			alert('Missing Menu');
			return false;
		}
		else {
      alert('Success')
  }
  });

1 个答案:

答案 0 :(得分:1)

这将起作用

test

演示:https://codepen.io/creativedev/pen/zaJreN