.replace przestało działać

0

Witam,

Z góry mówię, że w JS, jQuery itd. jestem leszczem. W codziennej pracy wspieram się jedynie prostymi skryptami, gotowcami i jeden z takowych nagle (bez ingerencji w kod) przestał działać.

Formularz wygląda nastepująco:

<div class="form-group row">
  <label for="FVpaytype" class="col-sm-4 col-form-label text-right">Sposób płatności:</label>
  <div class="col-sm-4">
    <select class="form-control" id="FVpaytype" name="FVpaytype" required>
      <option value="">wybierz opcję</option>
      <option value="cash">gotówką</option>
      <option value="transfer">przelewem</option>
    </select>						
  </div>
</div>

<div id="paymentCash">
  <div class="form-group row" style="display: none">
    <label for="cashRes" class="col-sm-4 col-form-label text-right">Odpowiedzialny za zapłatę:</label>
    <div class="col-sm-7">
      <select class="form-control" id="cashRes" name="cashRes">
        <option value="">wybierz pracownika</option>
        <option value="...">...</option>
      </select>
    </div>
  </div>
</div>

<div id="paymentBank">
  <div class="form-group row" style="display: none">
  <label for="transferRes" class="col-sm-4 col-form-label text-right">Odpowiedzialny za przelew:</label>
    <div class="col-sm-7">
      <select class="form-control" id="transferRes" name="transferRes">
        <option value="">wybierz pracownika</option>
        <option value="...">...</option>
      </select>
    </div>
  </div>
</div>

W zależności od wyboru gotówka/przelew pokazywał się/ukrywał się właściwy div. Dziś, z niewiadomych mi przyczyn, szlag to trafił. Zmieniam wybór w FVpaytype i nic się nie dzieje...

Kod wygląda następująco

$(document).ready(function () {
    $("#FVpaytype").change(function () {
        var val = $(this).val();
        if (val == "cash") {
            $('#paymentCash').html($('#paymentCash').html().replace(
                '<div class="form-group row" style="display: none">',
                '<div class="form-group row">'
            ));
            $('#paymentBank').html($('#paymentBank').html().replace(
                '<div class="form-group row">',
                '<div class="form-group row" style="display: none">'
            ));
        }
        if (val == "transfer") {
            $('#paymentCash').html($('#paymentCash').html().replace(
                '<div class="form-group row">',
                '<div class="form-group row" style="display: none">'
            ));
            $('#paymentBank').html($('#paymentBank').html().replace(
                '<div class="form-group row" style="display: none">',
                '<div class="form-group row">'
            ));
        }
    });
});

Co nie pykło?

0

Ten kod działa - http://jsfiddle.net/puaejmgc/

0
Markuz napisał(a):

Ten kod działa - http://jsfiddle.net/puaejmgc/

Na stronie pojawia się błąd: "Uncaught TypeError: Cannot read property 'replace'"
Używana wersja jQuery: jquery-3.3.1.slim.min.js

Pod tę stronę podpięty jest jeszcze jeden skrypt. Bardzo podobny zresztą, który działa nieprzerwanie.

$(document).ready(function () {
    $("#objectYear").change(function () {
        var val = $(this).val();
        if (val == "unknow" || val == "notapp") {
            $('#nsbtn').html($('#nsbtn').html().replace(
                'value="5"',
                'value="6"'
            ));
        }
    });
});

Poza powyższym i tym co używa sam bootstrap nie ma nic innego.

0

Możesz podzielić się linkiem do tej strony?

0
Markuz napisał(a):

Możesz podzielić się linkiem do tej strony?

Niestety nie.

0

Ehh Ci ludzie, chcą żeby nakierowach na dobre myślenie A tu nawet nie wiesz o co chodzi...

1 użytkowników online, w tym zalogowanych: 0, gości: 1