我有以下简单的HTML:
<dl>
<dt>Percentage</dt>
<dd><input type="text" id="percentage1" value="20"/></dd>
<dt>Description</dt>
<dd><input type="text" id="wastetype1" value="Inert - Mixed"/></dd>
</dl>
<dl>
<dt>Percentage</dt>
<dd><input type="text" id="percentage2" value="20"/></dd>
<dt>Description</dt>
<dd><input type="text" id="wastetype2" value="Brick"/></dd>
</dl>
<dl>
<dt>Percentage</dt>
<dd><input type="text" id="percentage3" value="60"/></dd>
<dt>Description</dt>
<dd><input type="text" id="wastetype3" value="Concrete"/></dd>
</dl>
我想使用以下代码有条件地将这些字段的值添加到对象中:
if (($('[id^=percentage]').val().length > 0) || ($('[id^=wastetype]').val().length > 0)){
var breakdownArray = [];
$('[id^="percentage"]').each(function() {
var thisId = $(this).attr('id').substring(10);
if (($('#percentage'+thisId).val().length > 0) && ($('#wastetype'+thisId).val().length > 0)){
var breakdownObject = {};
breakdownObject.percentage = $('#percentage'+thisId).val();
breakdownObject.description = $('#wastetype'+thisId).val();
breakdownArray.push(breakdownObject);
}
});
postData.breakdown = breakdownArray;
}
if语句让我特别烦恼
if (($('[id^=percentage]').val().length > 0) || ($('[id^=wastetype]').val().length > 0))
我希望与这些ID匹配的任何字段中的任何一个都具有值。
但是,如果percent1和wastetype1为空,则无论其他字段中是否有其他值,整个'if'语句都会失败。
如果我将percent3和wastetype3留为空白,则效果很好。
如果第一组字段为空,则整个操作似乎会失败,但其他字段中的任何一个都不为空?!?
任何帮助,将不胜感激。