2016-07-25 62 views
-1

我有這個網站如何這個jQuery行

<select class="form-control state" name="state" placeholder="State"> 
    <option value="" selected>- Select State -</option> 
</select> 

結合起來,這是我工作的jQuery,當我改變對country<select>

$modal.find(".state").children().remove(); 
$modal.find(".state").append($('<option>', { 
    value: "", 
    text: "- Select State -", 
})); 

這會執行,這是我的測試,以便關於如何使這個jQuery的一行,使其更清潔,但它沒有奏效。

$modal.find(".state").children().remove().parent().append($('<option>', { 
    value: "", 
    text: "- Select State -", 
})); 
+0

如果您使用.remove,刪除後的其他方法將不起作用 –

+0

.remove()將刪除您的元素,然後您無法訪問「.state」的父項。它不會工作。你只需要單獨使用它們。 –

+0

所以不需要改變我的代碼了? –

回答

1
$modal.find(".state").html("<span> Content Here </span>"); 

我想你事情複雜。

0

從代碼中刪除父項。

$modal.find(".state").children().remove().append($('<option>', { 
    value: "", 
    text: "- Select State -", 
})); 
0

試試這個;)

var $states = $modal.find(".state"); /* cache element for performance */ 
$states.children().remove(); 
$states.append($('<option>', { 
    value: "", 
    text: "- Select State -", 
})); 

另一種方式,你可以去,而不是刪除兒童,然後加入孩子剛更新的選擇HTML:

$modal.find(".state").html($('<option>', { 
    value: "", 
    text: "- Select State -", 
})); /* this will over-right content of select element */ 
0
$modal.find(".state").html('<option value="" selected>- Select State -</option>'); 

或者

$modal.find("select[name=state]").html('<option value="" selected>- Select State -</option>');