つまり、基本的にここに私のjsFiddleがあります-http ://jsfiddle.net/CmNFu/。
そしてここにもコードを-
HTML-
<b style="float: left; margin-right: 10px;">category 1</b><input type="checkbox" value="category1" style="float: left;" class="portfolio-category" /><br />
<b style="float: left; margin-right: 10px;">category 2</b><input type="checkbox" value="category2" style="float: left;" class="portfolio-category" /><br />
<br />
<br />
<input type="text" name="categories" id="portfolio-categories" />
jQuery-
jQuery(document).ready(function() {
jQuery(".portfolio-category").click(function() {
if(jQuery(this).is(":checked")) {
jQuery("#portfolio-categories").val(jQuery("#portfolio-categories").val()+" "+jQuery(this).val());
}
else {
var portfolioCategories = jQuery("#portfolio-categories").val();
alert("before + "+portfolioCategories);
var currentElement = jQuery(this).val()+" ";
alert(currentElement);
portfolioCategories = portfolioCategories.replace(currentElement, "");
alert(portfolioCategories);
}
});
});
基本的に私が達成したいのは、ユーザーがチェックボックスをオンにすると、値が入力フィールド内に自動的に追加されることです(完了、動作しています、おっと!)が、問題は、チェックボックスをオフにすると、値を削除する必要があることです。入力ボックス(問題はここから始まります)、それは何も削除しません。val()関数を変数に割り当てようとしましたが、成功しなかったことがわかります。jsFiddleで私の例をチェックして、ライブで確認してください。
助言がありますか?replace()がval()に対して機能していないと思いますか?
それで、他に何か提案はありますか?