初めて「Add New」を選択して新しいオプションを追加すると、次のように動作します。 2回目(クラスによって区別される別の要素の場合)、選択された要素と最初の要素に新しいオプションが追加されます。両方の要素は新たに追加されます。なぜjQuery ajaxはここに2回投稿しますか?
<script type="text/javascript">
$('#upload_form option[value="addnew"]').click(function(){
// Show modal window
$('#add-new').modal('show');
// Get the class
var Classofentry = $(this).attr("class");
$('#add-new-submit').on('click', function(){
// Get new option from text field
var value = $('#add-new-text').val();
console.log(value);
$.ajax({
type: "POST",
url: "<?php echo site_url(); ?>main/change_options",
data: {new_option: value, new_option_class: Classofentry},
dataType: "html",
error: errorHandler,
success: success
});
function success(data)
{
$('#'+Classofentry).append("<option value='" + data + "'selected=\"selected\">" + data + "</option>");
//alert(data);
//alert('Success!');
}
function errorHandler()
{
alert('Error with AJAX!');
}
$('#add-new').modal('toggle');
});
});
</script>
奇妙なことは、アヤックスを2回繰り返しているようです。私はそれがすべての "addnew"の値を見つけていると思います(2つはこれまでのところあります、それ以上はあります)。指定されたクラスで要素を処理するにはどうすればよいですか?これが理にかなってほしい。
あなたは#upload_formのオプションをクリックするたびに、[値=「AddNewメソッド」]は、あなたが#に新しいクリックハンドラを追加しますadd-new-submit。最初のボタンを5回クリックすると、2番目のボタンをクリックすると5回トリガされます。 – Robert
@ロバート:モーダルの解雇時に元に戻すにはどうすればよいですか?私。 #upload_formオプション[value = "addnew"]をクリックしてモーダルをクリックして解除すると、 – MysticalTautologist