0

いくつかのテキストボックスがあるフォームがあります。

最初の入力ボックスは「会社名」です。さまざまな情報が記載されたボックスがさらにいくつかあり、最後のボックスは「URL」で、このビジネスにデータベースに含めるURLを入力します。このURLを手動で入力する代わりに、タイトル入力ボックスの値を取得し、スペースを「-」に置き換えてすべて小文字にします。また、URLのプレフィックスを付けたいと思います。

したがって、「Bobs Hotel」と入力すると、入力が完了するとすぐに、URLボックスに「business/bobs-hotel」が事前に入力されます。「MikesHotDogs」と入力すると、「business / mikes-hot-dogs」などになり、フォームを送信する準備が整います。

編集:私は重要な詳細を忘れました:「ビジネス」という言葉は実際には使用されません。使用する単語は、ドロップダウン選択ボックスから来ています。このボックスには、3〜4個のオプション名(値ではない)、「ホテル」、「レストラン」などがあります。したがって、ドロップダウンから「ホテル」を選択すると、URLは「ホテル/ホテル名」になります。

重要なことの1つは、ドロップダウンから「ホテル」を選択しても、ホテルのは5などの数値です(データベースのカテゴリIDに対応しているため)。

どうすればこれを行うことができますか?

4

3 に答える 3

2

jQueryを使用してこれを試してください

</ p>

Business Name : <input type="text" id="business" name="bussiness"​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ /></br>

<label class="url" ></label>

$(function() {

    $('#business').on('change', function() {

        var val = $(this).val().replace(' ', '-').toLowerCase();;
        $('.url').text(this.id + '/' + val)
    });
});​

デモをチェック

于 2012-10-27T21:45:36.757 に答える
2

入力にidnameとが含まれurlている場合、jQueryを使用して次のようにすることができます。

$("#name").on("focusout", function () {
    var business = $("#business").val();
   $("#url").val(business + "/" + $(this).val().toLowerCase().replace(" ", "-"));
});

デモ

アップデート:

ドロップダウンリストからもビジネスの価値を取得するように例を更新しました。更新されたデモを参照してください。

アップデート2:

値の代わりに選択したオプションのコンテンツを取得するには、代わりに次のようにします。

$("#name").on("focusout", function () {
    var business = $("option:selected", "#business").text();
   $("#url").val(business + "/" + $(this).val().toLowerCase().replace(" ", "-"));
});

ここで、idを持つ要素内の選択されたoption-elementを取得し、businessそのコンテンツを.text()メソッドで読み取ります。

デモ

于 2012-10-27T21:45:52.183 に答える
1

replace正規表現を使用したクイックで、toLowerCaseこれを処理します。

var business_name = $('#business-name').value;
var dashified = business_name.trim().replace(/\s/g,'-').toLowerCase();
var url = 'business/' + dashified;
$('#url-field').value(url);

の最初のパラメータはreplace正規表現にすることができます。これはすべての空白を見つけます。2番目のパラメーターは、これを置き換えるものです。この場合はダッシュです。

于 2012-10-27T21:45:19.560 に答える