jquery标记中的拼写错误

时间:2014-01-30 23:21:15

标签: jquery html select replace

我有一个动态创建的选择标记(用于购物车)。我在动态创建的选择标记中发现拼写错误,使其成为必填字段。我无法修复服务器端,因为我无法访问源。 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>

2 个答案:

答案 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.');
    }
});