jquery 如何从下拉列表中删除 AJAX 选中的值

wvt8vs2t  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(122)

我有下面的表单字段,提交后,它将添加一个值, AJAX 在顶部的工程罚款选择。

<form id="addCarForm">
            @csrf
            <label for="cars">Choose a car:</label>
            <select name="cars" id="cars">
                <option value="volvo">Volvo</option>
                <option value="saab">Saab</option>
                <option value="mercedes">Mercedes</option>
                <option value="audi">Audi</option>
            </select>
            <input type="submit" value="Add Mercedes" />
            <!-- Reset button -->
            <button id="resetBtn">Reset</button>
        </form>

字符串
但重置按钮不会删除所选值。这里是重置代码

// Reset button click event listener
$("#resetBtn").on("click", function () {
    // Reset the value of the select element to an empty value
    $("#cars").val("");

    // Remove the option added via AJAX
    $("#cars option[data-ajax]").remove();
});


它创建如下

<option value="null" selected="">null</option>


但它应该删除如下,但它不这样做

<option value="volvo" selected="">volvo</option>


我已经试过如下

// Reset the value of the select element to an empty value
$("#cars").val('');

// Remove the selected attribute from all options
$("#cars option").prop("selected", false);


也如下

// Reset the value of the select element to an empty value
$("#cars").val('');

// Get the option added via AJAX
var ajaxOption = $("#cars option[data-ajax]");

// Remove the option if it exists
if (ajaxOption.length > 0) {
    ajaxOption.remove();
}

// Re-append the default option with an empty value
$("#cars").prepend('<option value="" data-ajax="">Select a car</option>');


但效果不佳。我用过jQuery-3.6.0和Laravel 10。请帮帮我

3mpgtkmj

3mpgtkmj1#

我发现了我的错误。在这里,我把重置的形式和提交。

<form>
.....
<input type="submit" value="Add Mercedes" />       
<button id="resetBtn">Reset</button>
</form>

字符串
所以当我提交时它会创建一个选中的。如果我点击重置按钮,它将删除,但同时选择将再次出现。
因此,它被解决如下

<form>
.....
<input type="submit" value="Add Mercedes" />       
</form>
<button id="resetBtn">Reset</button>


复位功能,它的工作正常如下

// Reset button click event listener
$("#resetBtn").on("click", function () {
    $("#cars :selected").remove();
});

相关问题