下面的工作我第一次選擇「添加新」並添加一個新的選項罰款。第二次(對於按類別區分的不同元素),它將新選項添加到所選元素和第一個元素。這兩個元素都必須重新添加。爲什麼jQuery ajax在這裏發佈兩次?
<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>
奇怪的是,它似乎通過ajax一個帖子兩次循環。我想它是找到所有「addnew」值(到目前爲止有2個,會有更多)。我如何才能將它用於指定類的元素?希望這是有道理的。
每次點擊#upload_form選項[值=「的AddNew」],添加一個新的單擊處理程序#添加新提交。第一次點擊5次,現在點擊第二次會觸發5次! – Robert
@Robert:在解除模態後我該如何解除這個問題?即如果單擊了#upload_form選項[value =「addnew」],然後通過單擊該模式來解除該模式? – MysticalTautologist