行が動的に追加されるテーブルがあります。
セルの1つで、ドロップダウンと入力ボックスを切り替えたいと思います。
ドロップダウンは、AJAXを介してロードされたPHPファイルです。問題は、ドロップダウンが1回だけレンダリングされることです。初めてトグルボタンをクリックすると、ドロップダウンが表示されます。2回目のクリックで、入力フィールドに切り替わります。3回目のクリックは何もしません。入力ボックスに留まり、ドロップダウンに戻りません。
AJAX呼び出しをコメントアウトして単純なドロップダウンを入れると、うまく前後に切り替わります。したがって、問題はAJAX部分にあると思います。
http://jsfiddle.net/6h5BD/1/へのリンク 注:AJAXは現在jsfiddleでコメント化されており、一時ドロップダウンに置き換えられているため、私が探している結果を確認できます。
問題のJSの部分:
$('input[name="button"]').toggle(function() {
$.ajax({
url: 'http://localhost/brandDropdown.php',
type:'POST',
dataType: 'html',
success: function(output_string){
$('#brand').html(output_string);
}
});
}, function() {
$(this).closest('td').prev().html("<input type=\"text\" name=\"itemBrand[]\" id=\"itemBrand\" size=\"10\" placeholder=\"New Brand\" style=\"text-transform: uppercase\"/>");
});
PHP:
$sqlbrand = "SELECT BRD_Name FROM Brands ORDER BY BRD_Name asc";
$resultbrand = odbc_exec($conn, $sqlbrand);
ECHO "<select name='itemBrand[]' style='width:120px' size='1'>";
while ($rowbrand = odbc_fetch_array($resultbrand)) {
echo "<option value='".$rowbrand['BRD_Name']."'>".$rowbrand['BRD_Name']."</option>";
}
echo "</select></td>";
私はこれを別の方法で処理することに非常にオープンです。私はいくつかの異なるアプローチを試しましたが、役に立ちませんでした。
この問題についてご協力いただき、ありがとうございます。