2015-12-02 36 views
0

我正在构建一个表单,其中包含人们的地址详细信息。然而,如果他们选择国家AustraliaCanadaUSA,则不需要开始State/County从选定更改的隐藏输入值中删除一些文本

这里是我的代码演示了这一点:必填字段通过<input name="required" value="address,town,country,post_code">处理发送到PHP脚本,State/County被添加到这个列表时,上述国家中选择一个:

$("select[name=country]").change(function() { 
    if ($(this).val() == "USA" || $(this).val() == "AUSTRALIA" || $(this).val() == "CANADA") { 
     alert("You have selected '" + $(this).val() + "'.\nPlease ensure you enter your State."); 
     $("input[name=state_county]").focus(); 
     $("input[name=required]").val($("input[name=required]").val() + ",state_county"); 
    } else { 
     // How do I remove it, though? 
    } 
}); 

我问题来自当有人取消选择这三个国家之一。如何删除inputvalue的某个部分,即如何从name="required"中删除,state_county

回答

1

如果有人选择美国,然后澳大利亚,然后加拿大,您的输入字段将被追加,state_county三次。

试试这个:

<script> 

    $("select[name=country]").change(function() { 

     // Save the initial value in a temporary variable 
     var value = $("input[name=required]").val().replace(',state_county', ''); 

     if ($(this).val() == "USA" || $(this).val() == "AUSTRALIA" || $(this).val() == "CANADA") { 
      alert("You have selected '" + $(this).val() + "'.\nPlease ensure you enter your State."); 
      $("input[name=state_county]").focus(); 
      $("input[name=required]").val(value + ',state_county'); 
     } else { 
      $("input[name=required]").val(value); 
     } 
    }); 

</script> 

,将删除该,state_county每一次,然后添加它仅在需要它。

+0

哇,这可以创造奇迹,我甚至没有想到多个附加! – mpdc