Jquery 如果选中了相应的复选框,如何获取选择值? 产品1 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类 产品2 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类
该表是从jquery动态生成的。现在我所做的是,当我点击其中一个save按钮时,我从相关数据库中获取了checked show time的值。但是如果选中了相应的复选框,我还想获取类别的值 这是我到目前为止的代码:Jquery 如果选中了相应的复选框,如何获取选择值? 产品1 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类 产品2 项目1 第一类 第2类 第3类 项目2 第一类 第2类 第3类,jquery,Jquery,该表是从jquery动态生成的。现在我所做的是,当我点击其中一个save按钮时,我从相关数据库中获取了checked show time的值。但是如果选中了相应的复选框,我还想获取类别的值 这是我到目前为止的代码: <tr> <td>Product 1</td> <td class="data"> <ul> <li><input type="checkbox" n
<tr>
<td>Product 1</td>
<td class="data">
<ul>
<li><input type="checkbox" name="items[]" value="item1">Item 1</li>
<li>
<select name="categories[]">
<option value="cat1">Category 1</option>
<option value="cat2">Category 2</option>
<option value="cat3">Category 3</option>
</select>
</li>
</ul>
<ul>
<li><input type="checkbox" name="items[]" value="item2">Item 2</li>
<li>
<select name="categories[]">
<option value="cat1">Category 1</option>
<option value="cat2">Category 2</option>
<option value="cat3">Category 3</option>
</select>
</li>
</ul>
</td>
<td>
<input type="submit" value="Save" class="save">
</td>
</tr>
<tr>
<td>Product 2</td>
<td class="data">
<ul>
<li><input type="checkbox" name="items[]" value="item1">Item 1</li>
<li>
<select name="categories[]">
<option value="cat1">Category 1</option>
<option value="cat2">Category 2</option>
<option value="cat3">Category 3</option>
</select>
</li>
</ul>
<ul>
<li><input type="checkbox" name="items[]" value="item2">Item 2</li>
<li>
<select name="categories[]">
<option value="cat1">Category 1</option>
<option value="cat2">Category 2</option>
<option value="cat3">Category 3</option>
</select>
</li>
</ul>
</td>
<td>
<input type="submit" value="Save" class="save">
</td>
</tr>
$(文档).on('click','save',函数(e){
e、 预防默认值();
var show_times=新数组();
$(this).closest('tr').find('input[type=checkbox]:checked').each(函数(){
显示\u次推送(此值);
});
});
选择元素位于输入元素父lki的下一个同级中。您可以遍历到最近的ul,然后在其中找到select元素:
<script>
$(document).on('click', '.save', function (e) {
e.preventDefault();
var show_times = new Array();
$(this).closest('tr').find('input[type=checkbox]:checked').each (function () {
show_times.push(this.value);
});
});
</script>
select
是一个兄弟。这样做:
$(document).on('click', '.save', function (e) {
e.preventDefault();
var show_times = new Array();
var show_times_select = new Array();
$(this).closest('tr').find('input[type=checkbox]:checked').each(function () {
show_times.push(this.value);
show_times_select.push($(this).closest('ul').find('select').val());
});
console.log(show_times );
console.log(show_times_select );
});
使用Jquery
$(this).closest('tr').find('input[type=checkbox]:checked').each (function () {
var selectvalue = $(this).next().val();
show_times.push(selectvalue);
});
抱歉,但当我在控制台上记录时,它显示selectvalue未定义。抱歉,但它仍然显示selectvalue未定义。谢谢你的帮助。到目前为止我已经做到了<代码>$(文档)。在('click','.save')上,函数(e){
e.preventDefault();
var show_times=new Array();
=this.closest('tr')。查找('input[type=checkbox]:checked')。每个(函数(){
var selectvalue=$(this)。最近('ul')。查找('select')。val();
});
console.log(显示时间);
console.log(选择值);
})代码>
请参阅。您需要再维护一个数组,以便在此处推送select元素值。检查更新的答案。@skonmai:很高兴它有帮助:)抱歉,但当我记录时,它会说selectvalue未定义。@skonmai当没有选中复选框时会发生这种情况。我已经选中了复选框,但它仍然说selectvalue未定义。谢谢你的帮助。
$(document).ready(function(){
var arr = [];
var counter = 0;
$("input[type='checkbox']").each(function(){
if($(this).is(":checked")){
arr[counter] = $(" select",$(this).closest("ul")).val();
counter++;
}
});
console.log(arr);
});