我有这个HTML
<div>
<input type="radio" name="erp_report_type" value="customerinvoice" required>
<label for="">Customer Invoice</label>
<input type="radio" name="erp_report_type" value="packinglist">
<label for="">Packing List</label>
<input type="radio" name="erp_report_type" value="performainvoice">
<label for="">Performa Invoice</label>
<input type="radio" name="erp_report_type" value="commercialinvoice">
<label for="">Commercial Invoice</label>
</div>
<div>
<input type="radio" name="erp_productformat" value="description">
<label for="">Description</label>
<input type="radio" name="erp_productformat" value="picture">
<label for="">Picture</label>
<input type="radio" name="erp_productformat" value="descriptionpicture">
<label for="">Description & Picture</label>
</div>
我想根据erp_productformat
更改事件从erp_report_type
获取值。这是我正在使用的jQuery。
$("input[name='erp_report_type']").change(function() {
var type = $(this).val();
var productFormat = $("input[name='erp_productformat']").val();
if( type == 'customerinvoice') {
} else if(type == 'packinglist') {
} else if(type == 'performainvoice') {
} else if(type == 'commercialinvoice') {
}
});
问题是变量productFormat只保留第一个值,description
如果检查另外两个字段,它不会获取另一个值。
我仍然是jQuery或JS的菜鸟。我哪里错了?
答案 0 :(得分:1)
尝试更改为:
var productFormat = $("input[name='erp_productformat']").filter(':checked').val();
这将从'erp_productformat'输入组返回检查值,然后返回值。
答案 1 :(得分:0)
试试这个。
$("input[name='erp_productformat']").each(function(){
var productFormat = $(this).val()
if( type == 'customerinvoice') {
} else if(type == 'packinglist') {
} else if(type == 'performainvoice') {
} else if(type == 'commercialinvoice') {
}
})
答案 2 :(得分:0)
尝试
each(function() {
而不是
change(function() {