2017-06-02 17 views
0

私はこれでいくつかの困難を抱えています。Jqueryで同じ文字列を見つける方法

私はこれについて、検索、およびいくつかの例を見つけましたが、私は自分の仕事をすることはできません...ここで

は、JSを行く:

$('#diahora').click(function(event){ 
    var diaSelecao = $('input[name="dia"]:checked').each(function(){}); 
    var horaSelecao = $('input[name="hora"]:checked').each(function(){}); 
    var novaHora = horaSelecao.val(); 
    var novoDia = diaSelecao.val(); 
    var novoOutros = $('#outrosSelecao').val(); 
    var novoTotal = $('<a>',{class:""}).text(novoDia + ' ' + novaHora + '; '); 
    var outroTotal = $('<a>', {class:""}).text(novoDia + ' ' + novoOutros + '; '); 

    if(horaSelecao.val()== 'outros'){ 
     $('.diasehoras').append(outroTotal); 
    }else if($('.diasehoras a').text().indexOf(novoTotal.text()) === true){ 
     return alert('Dia e hora já selecionados.'); 
    }else{ 
     $('.diasehoras').append(novoTotal); 
    } 

}); 

それは基本的に何され、2からフィールドを選択すると、選択した曜日と時間で、選択を別の列に送信します。

これで、選択した日時が既に「選択された領域」にあるかどうかを確認し、それを繰り返さないでください。

私は今のところそれを試しました。

しかし、これは動作していません..代わりに何をすべきですか?

ありがとうございました。

+1

なぜ '.each(関数(){});'?!?または '{class:" "}'? –

+0

@WashingtonGuedesは完璧に機能しました!ありがとうございました。 – GustavoA

+0

@MikeMcCaughan後で使用する予定です。 – GustavoA

答えて

2

.indexOf()を使用すると、指定された値の最初の出現のインデックスが返されます。見つからなければ-1。

そうするために:

if(horaSelecao.val()== 'outros'){ 
    $('.diasehoras').append(outroTotal); 
}else if($('.diasehoras a').text().indexOf(novoTotal.text()) === true){ 
    return alert('Dia e hora já selecionados.'); 
}else{ 
    $('.diasehoras').append(novoTotal); 
} 

あなたはそれを更新することになるでしょう:

if(horaSelecao.val()== 'outros'){ 
    $('.diasehoras').append(outroTotal); 
}else if($('.diasehoras a').text().indexOf(novoTotal.text()) !== -1){ 
    return alert('Dia e hora já selecionados.'); 
}else{ 
    $('.diasehoras').append(novoTotal); 
} 
関連する問題