Javascript 使用jQuery对表中的空字段发出警报
我已经创建了一个表,并添加了一个按钮“添加行”,该按钮将克隆表中的行,并将其附加到上一行。我已经发布了一个警报,如果其中任何字段为空,那么用户应该无法添加新行。当我硬编码下拉值时,它似乎正在工作。现在,由于我从本地数据库获取下拉值,所以在填充所有字段后,它总是显示警报(“请填充当前行中的所有字段”)。如有任何建议,将不胜感激。谢谢 ```````````````````````jQuery``````````````````````````Javascript 使用jQuery对表中的空字段发出警报,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个表,并添加了一个按钮“添加行”,该按钮将克隆表中的行,并将其附加到上一行。我已经发布了一个警报,如果其中任何字段为空,那么用户应该无法添加新行。当我硬编码下拉值时,它似乎正在工作。现在,由于我从本地数据库获取下拉值,所以在填充所有字段后,它总是显示警报(“请填充当前行中的所有字段”)。如有任何建议,将不胜感激。谢谢 ```````````````````````jQuery`````````````````````````` var regex = /^([a-zA-Z0-9 _
var regex = /^([a-zA-Z0-9 _-]+)$/;
var cindex = 0;
$(document).on('click','.Buttons', function(e) {
var count = $('table tr:last input:text').filter((_,el) => el.value.trim() == "").length;
if(count || !$('select:last').val()){
alert("Please fill all the fields in the current row");
return false;
}
var $tr = $('#dataTable tbody tr:last');
var $clone = $tr.clone(true);
cindex++;
$clone.find(':input').not('select').not('.DeleteButton').val('').attr('disabled', true);
$clone.attr('id', 'id'+(cindex) ); //update row id if required
//update ids of elements in row
$clone.find("*").each(function() {
var id = this.id || "";
if(id != ""){
var match = id.match(regex) || [];
if (match.length == 2) {
this.id = this.name + (cindex);
}
}
});
$tr.after($clone);
});
HTML
<table border="0" cellspacing="1" cellpadding="1" id="dataTable" class="graphtable">
<thead>
<tr>
<td class="headingalign" width="16%">Links</td>
<td class="headingalign" width="32%">Desciption</td>
<td class="headingalign" width="16%">Image</td>
<td class="headingalign" width="16%">URL</td>
<td class="headingalign" width="05%"></td>
</tr>
</thead>
<tbody>
<tr id="id01" name="row">
<td><select type="select-one" id='fldsearch' class="objselect" name="fldsearch" onChange="disableField()" >
<option value="">Select</option>
<xsl:for-each select="{Values fetching from local db}">
<xsl:sort order="ascending" select="description"/>
<option value="{code}"> <xsl:value-of select="description"/> </option>
</xsl:for-each>
</select></td>
<td><input id="flddesc" name="flddesc" maxlength="500" disabled="true" class="objinputtext" size="85" value="{//RESPONSE}" /></td>
<td><input id="fldimg" name="fldimg" maxlength="50" disabled="true" class="objinputtext" size="35" value="{//RESPONSE}" /></td>
<td><input id="fldurl" name="fldurl" maxlength="15" disabled="true" class="objinputtext" size="35" value="{//RESPONSE}" /></td>
<td><input tabindex="6" value="Delete Row" disabled="true" class="DeleteButton" type="button" /></td>
</tr>
</tbody>
</table>
<div class="buttonarea">
<ul>
<li>
<input tabindex="6" id="Button3" value="Add New Row" class="Buttons" name="Button3" type="button" />
</li>
<li>
<input tabindex="6" id="Button5" value="Initiate" class="buttons" name="Button5" type="button" onClick="return fnOnSubmit();"/>
</li>
</ul>
</div>
链接
描述
形象
统一资源定位地址
挑选
-
-
您总是可以获得计数值。为什么要使用它?请检查浏览器控制台中“$('select:last').val()”返回的内容。我已在fiddle中添加了代码。请看一看。你的小提琴坏了correctly@Mamun你能帮忙吗。谢谢