从选择更改的隐藏输入值中删除一些文本

时间:2015-12-02 16:30:30

标签: jquery

我正在建立一个表格,我会记录人们的地址详情。不一定要以State/County开头,如果他们选择国家/地区AustraliaCanadaUSA,则为。{/ p>

以下是我的代码演示:必填字段通过<input name="required" value="address,town,country,post_code">发送到PHP脚本进行处理,并且当选择上述某个国家/地区时,State/County会附加到此列表中:< / p>

$("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?
    }
});

我的问题来自某人取消选择这三个国家/地区中的一个。如何删除input value的某个部分,即如何从,state_county删除name="required"

1 个答案:

答案 0 :(得分:1)

如果有人选择美国,然后选择AUSTRALIA,然后选择加拿大,则您的输入字段将附加,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,然后仅在需要时才将其添加。