我有一个动态创建的选择标记(用于购物车)。我在动态创建的选择标记中发现拼写错误,使其成为必填字段。我无法修复服务器端,因为我无法访问源。 manatory="1"
的拼写应为mandatory="1"
。所以我尝试用 jquery 更改拼写。
任何人都可以建议如何做到这一点?一个选项可能是添加(而不是替换)mandatory="1"
到select标签,但我不确定它是如何完成的。
我尝试使用了失败:
<script>
(document).ready(function() {$( "select.input-medium.manatory" ).replaceWith
( "<select class="input-medium" manatory="1">" ););
</script>
这是违规的HTML。选项和值也是动态的,所以我不能轻易地重写整个事情。
<div class="catProdAttributeItem">
<select class="input-medium" manatory="1">
<option value="">-- Please select --</option>
<option value="1">1 </option>
<option value="2">2 </option>
<option value="3">3 </option>
</select>
</div>
答案 0 :(得分:0)
使用jquery修复拼写错误的属性是解决此问题的错误方法,但是,如果必须,您只需要添加新属性并删除旧属性。
$("select[manatory]").each(function(){
var $this = $(this);
$this.attr("mandatory", $this.attr("manatory")).removeAttr("manatory");
});
如果您修复报价问题,原始尝试也会有效。但是,您的尝试可能会导致其他问题或以后成为维护问题。
答案 1 :(得分:0)
$('select.input-medium["manatory"]').attr('mandatory','1').removeAttr('manatory');
实际上你甚至不太可能需要删除“强制”属性并且可以逃脱:
$('select.input-medium["manatory"]').attr('mandatory','1');
以下是您可以添加到提交按钮的功能:
$('SUBMIT BUTTON ID HERE').click(function(e) {
if($('select.input-medium').val() == 'YOUR UNSELECTED VALUE HERE') {
e.preventDefault();
alert('You need to select something.');
}
});