2015-12-02 2 views
0

Я создаю форму, где я беру данные адреса людей. Для начала State/County не требуется, однако, если они выберут страну Australia, Canada или USA, это так.Удалите текст из значения скрытого ввода при выборе смены

Вот мой код с демонстрирует это: обязательные поля отправляются в PHP скрипт через <input name="required" value="address,town,country,post_code"> для обработки, и 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, то есть как удалить ,state_county с name="required"?

ответ

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

Смежные вопросы